2

私は何かに興味がありました。特定のフォルダーのサブフォルダーのACLアクセス許可をスキャンし、最初のフォルダーのACLアクセス許可とは異なるものを見つける必要があるC++を使用してコードを記述しています。これを行うには、 FindFirstFileFindNextFileを使用してフォルダー内のすべてのフォルダーを再帰的にチェックし、見つかった各サブフォルダーでGetNamedSecurityInfoを呼び出してACLのアクセス許可をチェックします。

この方法は、特にネットワーク共有をスキャンするときに非常に遅く動作することを除いて、動作します。accesschkというツールでも同じことができることは知っていますが、同じフォルダー(-dsqvliスイッチを使用)で再帰的に実行すると、上記の手順よりも速く結果が返されます。

それで、どうすればこのACL権限の検索プロセスを高速化できるのでしょうか。

私が最初に考えたのは、ACEで継承を使用することでしたが、それを実装する方法がわかりません...

編集2:提案をありがとう@arx。このACL/ACEのものは、ほとんど文書化されていません。彼が以下に投稿したコードは私のために働いた。ACLの継承をチェックするための私の元のコードは、彼の投稿で以下に概説されている理由の@arxのために、信頼できる結果を生成しなかったことに注意してください。

4

1 に答える 1