1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

s4-provision: Test for posix ACLs in the actual sysvol path

This avoids issues in the previous location where lp may not be initialised at this point
and instead simply waits until we have a known sysvol path, and test for ACL support
there.

Andrew Bartlett
This commit is contained in:
Andrew Bartlett 2012-06-05 09:58:41 +10:00
parent d2b635cc2f
commit dc799d4b42

View File

@ -1661,18 +1661,6 @@ def provision(logger, session_info, credentials, smbconf=None,
server_services.append("+s3fs")
global_param["dcerpc endpoint servers"] = ["-winreg", "-srvsvc"]
if targetdir is not None:
file = tempfile.NamedTemporaryFile(dir=os.path.abspath(targetdir))
else:
file = tempfile.NamedTemporaryFile(dir=os.path.abspath(os.path.dirname(lp.get("private dir"))))
try:
try:
smbd.set_simple_acl(file.name, root_uid, wheel_gid)
except Exception:
raise ProvisioningError("Your filesystem or build does not support posix ACLs, s3fs is unworkable in this mode")
finally:
file.close()
if len(server_services) > 0:
global_param["server services"] = server_services
@ -1744,6 +1732,22 @@ def provision(logger, session_info, credentials, smbconf=None,
if not os.path.exists(paths.state_dir):
os.mkdir(paths.state_dir)
if paths.sysvol and not os.path.exists(paths.sysvol):
os.makedirs(paths.sysvol, 0775)
if not use_ntvfs and serverrole == "domain controller":
if paths.sysvol is None:
raise MissingShareError("sysvol", paths.smbconf)
file = tempfile.NamedTemporaryFile(dir=os.path.abspath(paths.sysvol))
try:
try:
smbd.set_simple_acl(file.name, root_uid, wheel_gid)
except Exception:
raise ProvisioningError("Your filesystem or build does not support posix ACLs, s3fs is unworkable in this mode")
finally:
file.close()
ldapi_url = "ldapi://%s" % urllib.quote(paths.s4_ldapi_path, safe="")
schema = Schema(domainsid, invocationid=invocationid,