使用Python重置对NTFS文件夹的继承权限

2024-09-30 08:16:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在NTFS分区(在Windows2008上)上有很多文件夹没有从父文件夹继承权限。在

我想重置它,以便它们包含那些父权限(相当于选中“高级安全设置”区域下的“包含来自此对象的父级的可继承权限”复选框)。在

因为我们在这里使用Python来完成其他一些系统管理任务,所以如果可能的话,我想用Python来完成(我知道如何在VBScript中完成,但是这不是一个一次性的脚本,而是定期运行,所以应该与我们的代码库的其他部分集成)。在

我一直在使用优秀的pywin32扩展和来自{a1}和Google的示例来开始,但我不认为有任何方法可以简单地说“从父级继承权限”

使用AddAccessAllowedAceEx,我甚至可以通过添加继承的\u ACE标志来伪造继承,例如,不管它是否真的来自父级:

dacl.AddAccessAllowedAceEx( \
  win32security.ACL_REVISION_DS \
, win32security.OBJECT_INHERIT_ACE | win32security.CONTAINER_INHERIT_ACE | win32security.INHERITED_ACE \
, ntsecuritycon.FILE_GENERIC_READ | ntsecuritycon.FILE_GENERIC_EXECUTE \
, some_sid_here \
)

但是,除非我从根文件夹中遍历整个路径并一直构建继承,否则我怎么知道要继承哪些东西呢?在


Tags: 文件夹区域权限inheritgenericfile重置分区
1条回答
网友
1楼 · 发布于 2024-09-30 08:16:38

需要在根文件夹的ACE上设置对象“继承”ACE和“容器”继承ACE。您可能还需要清除对每个子文件夹和文件直接设置的任何权限。(那些将是那些不包括继承的ACE在其ACE标志中的)。在

相关问题 更多 >

    热门问题