From: Björn Baumbach Date: Tue, 21 Jul 2020 10:34:19 +0000 (+0200) Subject: python/ntacls.py: add SMBHelper.set_acl() helper function X-Git-Tag: samba-4.14.0rc1~236 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f4e578aa24bc020d87716915ea5037d7677b75e9;p=thirdparty%2Fsamba.git python/ntacls.py: add SMBHelper.set_acl() helper function Pair-Programmed-With: Stefan Metzmacher Signed-off-by: Björn Baumbach Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison --- diff --git a/python/samba/ntacls.py b/python/samba/ntacls.py index b8a7d9b442b..4f189965d05 100644 --- a/python/samba/ntacls.py +++ b/python/samba/ntacls.py @@ -339,6 +339,20 @@ class SMBHelper: return ntacl_sd.as_sddl(self.dom_sid) if as_sddl else ntacl_sd + def set_acl(self, smb_path, ntacl_sd, + sinfo=None, access_mask=None): + assert '/' not in smb_path + + assert(isinstance(ntacl_sd, str) or isinstance(ntacl_sd, security.descriptor)) + if isinstance(ntacl_sd, str): + tmp_desc = security.descriptor.from_sddl(ntacl_sd, self.domain_sid) + elif isinstance(ntacl_sd, security.descriptor): + tmp_desc = ntacl_sd + + self.smb_conn.set_acl(smb_path, tmp_desc, + sinfo=sinfo, + access_mask=access_mask) + def list(self, smb_path=''): """ List file and dir base names in smb_path without recursive.