gpt4 book ai didi

python - 使用python向文件夹添加权限

转载 作者:太空宇宙 更新时间:2023-11-04 11:02:41 24 4
gpt4 key购买 nike

我想授予任何人对特定文件夹(+子文件夹+其中的文件)的完全访问权限。我试过那个代码:

f = "c:\test" #... which is the folder

#vars
sidWorld = win32security.CreateWellKnownSid(win32security.WinWorldSid, None)
worldRights = win32file.FILE_ALL_ACCESS

#get DACL
fileSecDesc = win32security.GetNamedSecurityInfo( \
f, win32security.SE_FILE_OBJECT, win32security.DACL_SECURITY_INFORMATION)
fileDacl = fileSecDesc.GetSecurityDescriptorDacl()

#add rights
fileDacl.AddAccessAllowedAce( win32security.ACL_REVISION, worldRights, sidWorld )

win32security.SetNamedSecurityInfo( \
f, win32security.SE_FILE_OBJECT, win32security.DACL_SECURITY_INFORMATION, \
None, None, fileDacl, None )

问题是,它没有显示为完全访问权限,我认为是因为缺少继承(我也需要继承)。我不知道如何解决这个问题。

知道我错过了什么吗?谢谢,最好的问候,弗洛里安·拉格。

最佳答案

休息后得到它:它是如此简单:

#vars
sidWorld = win32security.CreateWellKnownSid(win32security.WinWorldSid, None)
worldRights = win32file.FILE_ALL_ACCESS
flags = win32security.OBJECT_INHERIT_ACE| \
win32security.CONTAINER_INHERIT_ACE

#get DACL
fileSecDesc = win32security.GetNamedSecurityInfo( \
f, win32security.SE_FILE_OBJECT, win32security.DACL_SECURITY_INFORMATION)
fileDacl = fileSecDesc.GetSecurityDescriptorDacl()

#add rights
fileDacl.AddAccessAllowedAceEx( \
win32security.ACL_REVISION_DS, \
flags, \
worldRights, \
sidWorld)

win32security.SetNamedSecurityInfo( \
f, win32security.SE_FILE_OBJECT, win32security.DACL_SECURITY_INFORMATION, \
None, None, fileDacl, None )

因此:已解决!无论如何谢谢!

关于python - 使用python向文件夹添加权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com