4

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 \
)

しかし、ルートフォルダーからパス全体をたどり、継承を完全に構築しない限り、どのようにして継承するものを知ることができますか?

4

1 に答える 1

1

OBJECT_INHERIT_ACEとCONTAINER_INHERIT_ACEは、ルートフォルダーのACEに設定する必要があります。また、各サブフォルダとファイルに直接設定されている権限もすべてクリアすることをお勧めします。(これらは、ACEフラグにINHERITED_ACEを含まないものになります)。

于 2012-08-14T04:50:07.630 に答える