NTFSパーティション(Windows 2008)には、親からアクセス許可を継承していないフォルダーがかなりあります。
これをリセットして、それらの親のアクセス許可が含まれるようにします([セキュリティの詳細設定]領域の[このオブジェクトの親から継承可能なアクセス許可を含める]チェックボックスをオンにするのと同じです)。
ここでは他のシステム管理タスクにPythonを使用しているので、可能であればPythonで実行したいと思います(VBScriptで実行する方法は知っていますが、これは1回限りのスクリプトではなく、定期的に実行します) 、したがって、コードベースの残りの部分と統合する必要があります)。
http://timgolden.me.uk/python/win32_how_do_i.htmlとGoogleの優れたpywin32拡張機能と例を使用して開始しましたが、単に「親から権限を継承する」と言う方法がわかりません。 「」
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 \
)
しかし、ルートフォルダーからパス全体をたどり、継承を完全に構築しない限り、どのようにして継承するものを知ることができますか?