mirror of
https://github.com/samba-team/samba.git
synced 2025-08-03 04:22:09 +03:00
s4-net: added --ipaddress option to net commands
this allows override of server IP address, bypassing NBT or DNS name resolution of DCs Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
@ -98,6 +98,7 @@ class CredentialsOptions(optparse.OptionGroup):
|
||||
"""Command line options for specifying credentials."""
|
||||
def __init__(self, parser):
|
||||
self.no_pass = True
|
||||
self.ipaddress = None
|
||||
optparse.OptionGroup.__init__(self, parser, "Credentials Options")
|
||||
self.add_option("--simple-bind-dn", metavar="DN", action="callback",
|
||||
callback=self._set_simple_bind_dn, type=str,
|
||||
@ -115,6 +116,9 @@ class CredentialsOptions(optparse.OptionGroup):
|
||||
self.add_option("-k", "--kerberos", metavar="KERBEROS",
|
||||
action="callback", type=str,
|
||||
help="Use Kerberos", callback=self._set_kerberos)
|
||||
self.add_option("", "--ipaddress", metavar="IPADDRESS",
|
||||
action="callback", type=str,
|
||||
help="IP address of server", callback=self._set_ipaddress)
|
||||
self.creds = Credentials()
|
||||
|
||||
def _parse_username(self, option, opt_str, arg, parser):
|
||||
@ -127,6 +131,9 @@ class CredentialsOptions(optparse.OptionGroup):
|
||||
self.creds.set_password(arg)
|
||||
self.no_pass = False
|
||||
|
||||
def _set_ipaddress(self, option, opt_str, arg, parser):
|
||||
self.ipaddress = arg
|
||||
|
||||
def _set_kerberos(self, option, opt_str, arg, parser):
|
||||
if bool(arg) or arg.lower() == "yes":
|
||||
self.creds.set_kerberos_state(MUST_USE_KERBEROS)
|
||||
|
@ -45,7 +45,7 @@ class cmd_export_keytab(Command):
|
||||
def run(self, keytab, credopts=None, sambaopts=None, versionopts=None):
|
||||
lp = sambaopts.get_loadparm()
|
||||
creds = credopts.get_credentials(lp)
|
||||
net = Net(creds, lp)
|
||||
net = Net(creds, lp, server=credopts.ipaddress)
|
||||
net.export_keytab(keytab=keytab)
|
||||
|
||||
|
||||
|
@ -47,7 +47,7 @@ class cmd_join(Command):
|
||||
versionopts=None, server=None, site=None):
|
||||
lp = sambaopts.get_loadparm()
|
||||
creds = credopts.get_credentials(lp)
|
||||
net = Net(creds, lp)
|
||||
net = Net(creds, lp, server=credopts.ipaddress)
|
||||
|
||||
if site is None:
|
||||
site = "Default-First-Site-Name"
|
||||
|
@ -41,5 +41,5 @@ class cmd_time(Command):
|
||||
def run(self, server_name, credopts=None, sambaopts=None, versionopts=None):
|
||||
lp = sambaopts.get_loadparm()
|
||||
creds = credopts.get_credentials(lp)
|
||||
net = Net(creds, lp)
|
||||
net = Net(creds, lp, server=credopts.ipaddress)
|
||||
print net.time(server_name)
|
||||
|
@ -42,7 +42,7 @@ class cmd_user_add(Command):
|
||||
def run(self, name, password=None, credopts=None, sambaopts=None, versionopts=None):
|
||||
lp = sambaopts.get_loadparm()
|
||||
creds = credopts.get_credentials(lp)
|
||||
net = Net(creds, lp)
|
||||
net = Net(creds, lp, server=credopts.ipaddress)
|
||||
net.create_user(name)
|
||||
if password is not None:
|
||||
net.set_password(name, creds.get_domain(), password, creds)
|
||||
@ -63,7 +63,7 @@ class cmd_user_delete(Command):
|
||||
def run(self, name, credopts=None, sambaopts=None, versionopts=None):
|
||||
lp = sambaopts.get_loadparm()
|
||||
creds = credopts.get_credentials(lp)
|
||||
net = Net(creds, lp)
|
||||
net = Net(creds, lp, server=credopts.ipaddress)
|
||||
net.delete_user(name)
|
||||
|
||||
|
||||
|
@ -47,6 +47,6 @@ class cmd_vampire(Command):
|
||||
def run(self, domain, target_dir=None, credopts=None, sambaopts=None, versionopts=None):
|
||||
lp = sambaopts.get_loadparm()
|
||||
creds = credopts.get_credentials(lp)
|
||||
net = Net(creds, lp)
|
||||
net = Net(creds, lp, server=credopts.ipaddress)
|
||||
(domain_name, domain_sid) = net.vampire(domain=domain, target_dir=target_dir)
|
||||
self.outf.write("Vampired domain %s (%s)\n" % (domain_name, domain_sid))
|
||||
|
Reference in New Issue
Block a user