我有很多文件夹位于NTFS分区上(在Windows 2008上),它们没有从其父文件夹继承权限。
我想重置这些文件夹的权限,使它们包括来自父文件夹的权限(相当于在高级安全设置区域下选中“从对象的父项继承可继承权限”复选框)。
由于我们在这里使用Python进行一些其他系统管理任务,所以如果可能的话,我想用Python来完成它(我知道如何在VBScript中完成它,但这不会是一次性脚本,而是定期运行,因此应与我们的代码库集成)。
我一直在使用出色的pywin32扩展和http://timgolden.me.uk/python/win32_how_do_i.html的示例以及谷歌搜索来入手,但我没有看到任何简单地说“继承父项权限”的方法。
使用AddAccessAllowedAceEx,我甚至可以通过添加INHERITED_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 \
)
但是,如果我不从根文件夹开始遍历整个路径并一路建立继承关系,我怎么知道要继承哪些内容呢?