我在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 \
)
但是,除非我从根文件夹中遍历整个路径并一直构建继承,否则我怎么知道要继承哪些东西呢?在
需要在根文件夹的ACE上设置对象“继承”ACE和“容器”继承ACE。您可能还需要清除对每个子文件夹和文件直接设置的任何权限。(那些将是那些不包括继承的ACE在其ACE标志中的)。在
相关问题 更多 >
编程相关推荐