mirror of
https://github.com/samba-team/samba.git
synced 2025-07-16 20:59:12 +03:00
Tidy up the last regresesions on the python smbscript, from my work
with Jelmer today.
The only remaining issue is that for the build farm, we will need to
manually specify the users and groups from the NSS_WRAPPPER, as python
isn't compiled with this.
Andrew Bartlett
(This used to be commit 5370484d25
)
This commit is contained in:
@ -188,12 +188,17 @@ def provision_paths_from_lp(lp, dnsdomain, private_dir=None):
|
||||
paths = ProvisionPaths()
|
||||
if private_dir is None:
|
||||
private_dir = lp.get("private dir")
|
||||
paths.keytab = "secrets.keytab"
|
||||
paths.dns_keytab = "dns.keytab"
|
||||
else:
|
||||
paths.keytab = os.path.join(private_dir, "secrets.keytab")
|
||||
paths.dns_keytab = os.path.join(private_dir, "dns.keytab")
|
||||
|
||||
paths.shareconf = os.path.join(private_dir, "share.ldb")
|
||||
paths.samdb = os.path.join(private_dir, lp.get("sam database") or "samdb.ldb")
|
||||
paths.secrets = os.path.join(private_dir, lp.get("secrets database") or "secrets.ldb")
|
||||
paths.templates = os.path.join(private_dir, "templates.ldb")
|
||||
paths.keytab = os.path.join(private_dir, "secrets.keytab")
|
||||
paths.dns_keytab = os.path.join(private_dir, "dns.keytab")
|
||||
|
||||
paths.dns = os.path.join(private_dir, dnsdomain + ".zone")
|
||||
paths.winsdb = os.path.join(private_dir, "wins.ldb")
|
||||
paths.s4_ldapi_path = os.path.join(private_dir, "ldapi")
|
||||
@ -407,6 +412,8 @@ def setup_secretsdb(path, setup_path, session_info, credentials, lp):
|
||||
lp=lp)
|
||||
secrets_ldb.erase()
|
||||
secrets_ldb.load_ldif_file_add(setup_path("secrets_init.ldif"))
|
||||
secrets_ldb = Ldb(path, session_info=session_info, credentials=credentials,
|
||||
lp=lp)
|
||||
secrets_ldb.load_ldif_file_add(setup_path("secrets.ldif"))
|
||||
return secrets_ldb
|
||||
|
||||
@ -695,18 +702,18 @@ def provision(lp, setup_dir, message, paths, session_info,
|
||||
if dnspass is None:
|
||||
dnspass = misc.random_password(12)
|
||||
if root is None:
|
||||
root = findnss(pwd.getpwnam, "root")[4]
|
||||
root = findnss(pwd.getpwnam, "root")[0]
|
||||
if nobody is None:
|
||||
nobody = findnss(pwd.getpwnam, "nobody")[4]
|
||||
nobody = findnss(pwd.getpwnam, "nobody")[0]
|
||||
if nogroup is None:
|
||||
nogroup = findnss(grp.getgrnam, "nogroup", "nobody")[2]
|
||||
nogroup = findnss(grp.getgrnam, "nogroup", "nobody")[0]
|
||||
if users is None:
|
||||
users = findnss(grp.getgrnam, "users", "guest", "other", "unknown",
|
||||
"usr")[2]
|
||||
"usr")[0]
|
||||
if wheel is None:
|
||||
wheel = findnss(grp.getgrnam, "wheel", "root", "staff", "adm")[2]
|
||||
wheel = findnss(grp.getgrnam, "wheel", "root", "staff", "adm")[0]
|
||||
if backup is None:
|
||||
backup = findnss(grp.getgrnam, "backup", "wheel", "root", "staff")[2]
|
||||
backup = findnss(grp.getgrnam, "backup", "wheel", "root", "staff")[0]
|
||||
if aci is None:
|
||||
aci = "# no aci for local ldb"
|
||||
if serverrole is None:
|
||||
@ -721,11 +728,11 @@ def provision(lp, setup_dir, message, paths, session_info,
|
||||
raise Exception("realm '%s' in smb.conf must match chosen realm '%s'" %
|
||||
(lp.get("realm"), realm))
|
||||
|
||||
ldapi_url = "ldapi://%s" % urllib.quote(paths.s4_ldapi_path)
|
||||
ldapi_url = "ldapi://%s" % urllib.quote(paths.s4_ldapi_path, safe="")
|
||||
|
||||
if ldap_backend == "ldapi":
|
||||
# provision-backend will set this path suggested slapd command line / fedorads.inf
|
||||
ldap_backend = "ldapi://" % urllib.quote(os.path.join(lp.get("private dir"), "ldap", "ldapi"), "")
|
||||
ldap_backend = "ldapi://" % urllib.quote(os.path.join(lp.get("private dir"), "ldap", "ldapi"), safe="")
|
||||
|
||||
assert realm is not None
|
||||
realm = realm.upper()
|
||||
|
Reference in New Issue
Block a user