您需要
win32security模块,它是pywin32的一部分。这是做您想做的事情的示例。
该示例为该文件创建了一个新的DACL并替换了旧的DACL,但是修改现有的DACL很容易。您需要做的就是从安全描述符中获取现有的DACL,而不是创建一个空的DACL,如下所示:
import win32securityimport ntsecuritycon as conFILENAME = "whatever"userx, domain, type = win32security.LookupAccountName ("", "User X")usery, domain, type = win32security.LookupAccountName ("", "User Y")sd = win32security.GetFileSecurity(FILENAME, win32security.DACL_SECURITY_INFORMATION)dacl = sd.GetSecurityDescriptorDacl() # instead of dacl = win32security.ACL()dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_GENERIC_READ | con.FILE_GENERIC_WRITE, userx)dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_ALL_ACCESS, usery)sd.SetSecurityDescriptorDacl(1, dacl, 0) # may not be necessarywin32security.SetFileSecurity(FILENAME, win32security.DACL_SECURITY_INFORMATION, sd)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)