From: Joe Guo Date: Wed, 4 Jul 2018 01:03:44 +0000 (+1200) Subject: provision/setsysvolacl: create helper function to simplify code X-Git-Tag: tdb-1.3.16~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fb821521eea6a4a9ee4f06c1916085dbcdec09d;p=thirdparty%2Fsamba.git provision/setsysvolacl: create helper function to simplify code BUG: https://bugzilla.samba.org/show_bug.cgi?id=13521 Signed-off-by: Joe Guo Reviewed-by: Andrew Bartlett Reviewed-by: Gary Lockyer --- diff --git a/python/samba/provision/__init__.py b/python/samba/provision/__init__.py index 976503ecc0c..066411ab8d7 100644 --- a/python/samba/provision/__init__.py +++ b/python/samba/provision/__init__.py @@ -1699,25 +1699,24 @@ def setsysvolacl(samdb, netlogon, sysvol, uid, gid, domainsid, dnsdomain, session_info = auth.user_session(samdb, lp_ctx=lp, dn=userdn, session_info_flags=flags) + def _setntacl(path): + """A helper to reuse args""" + return setntacl( + lp, path, SYSVOL_ACL, str(domainsid), + use_ntvfs=use_ntvfs, skip_invalid_chown=True, passdb=s4_passdb, + service=SYSVOL_SERVICE, session_info=session_info) + # Set the SYSVOL_ACL on the sysvol folder and subfolder (first level) - setntacl(lp,sysvol, SYSVOL_ACL, str(domainsid), use_ntvfs=use_ntvfs, - skip_invalid_chown=True, passdb=s4_passdb, - service=SYSVOL_SERVICE, session_info=session_info) + _setntacl(sysvol) for root, dirs, files in os.walk(sysvol, topdown=False): for name in files: if use_ntvfs and canchown: os.chown(os.path.join(root, name), -1, gid) - setntacl(lp, os.path.join(root, name), SYSVOL_ACL, str(domainsid), - use_ntvfs=use_ntvfs, skip_invalid_chown=True, - passdb=s4_passdb, service=SYSVOL_SERVICE, - session_info=session_info) + _setntacl(os.path.join(root, name)) for name in dirs: if use_ntvfs and canchown: os.chown(os.path.join(root, name), -1, gid) - setntacl(lp, os.path.join(root, name), SYSVOL_ACL, str(domainsid), - use_ntvfs=use_ntvfs, skip_invalid_chown=True, - passdb=s4_passdb, service=SYSVOL_SERVICE, - session_info=session_info) + _setntacl(os.path.join(root, name)) # Set acls on Policy folder and policies folders set_gpos_acl(sysvol, dnsdomain, domainsid, domaindn, samdb, lp, use_ntvfs, passdb=s4_passdb)