2

ネットワーク ファイル システムの ACL について質問があります。

基本的に、その下に 100,000 以上のファイルとフォルダー オブジェクトがある可能性のあるトップ レベルのフォルダー オブジェクトにアクセス許可を設定したいと考えています。すべてのサブフォルダーとサブファイルを介して権限を継承できるようにしたい (IE 'ファイル、フォルダー、およびサブフォルダーに適用' はtrue )。

既存の継承可能なアクセス許可を破棄したくありません (IE ' Replace all child object permissions with inheritable permissions from this object ' はfalse )。

そのため、Set-ACL、SetACL.exe、XCACLS.vbs を実行したり、Windows GUI を使用したりすると、プロセスが完了するまでに非常に長い時間がかかります。これは明らかにサブ ディレクトリのサイズが大きいためです。

私は今これに慣れていますが、

知りたかったのですが、これはなぜですか

結局のところ、1 つのフォルダー オブジェクトに 1 つの ACE しか書いていないのではないでしょうか?

  • ディレクトリをたどっているのではありません。
  • サブファイルとフォルダーの個々の ACL を変更しているわけではありません (そうは思いません)。と
  • 私は権限を置き換えていません

サブフォルダー/ファイルオブジェクトにアクセスした場合、明示的なACEをチェックしてアクセス許可があるかどうかを確認し、アクセス許可がない場合は、(親フォルダーオブジェクトから)継承可能なアクセス許可を確認すると想定しました。アクセスできる可能性があります。

では、継承可能なアクセス許可を設定すると、技術的には最上位で 1 つの ACE のみを設定しているにもかかわらず、新しい個別の ACE がすべてのサブファイルとフォルダーに書き込まれるのでしょうか?

最上位に ACE を設定し、コマンドを使用せずにサブ ディレクトリ全体を列挙する方法はありますか? 大量のファイルとフォルダーでこれを迅速かつ効率的に行うことを検討しています。

これが理にかなっていることを願っています。提案をお待ちしております。

リス。

4

1 に答える 1

2

継承されたアクセス許可 (明示的なものなど) は、フラグ ビット フィールド (詳細情報)のセキュリティ記述子のビット マスクのフォルダー/ファイル レベルで設定されます。そのため、子に伝達される親フォルダー レベルでのアクセス許可の設定 (継承) は、影響を受ける子の数に応じて長くなる可能性があります。

これに基づいて、答えはノーです。最上位にACEを設定することはできず、サブディレクトリ全体に移動して列挙するコマンドはありません。

すべての子に対してプログラムで明示的な acl を設定する方が継承プロセスよりも速いかどうかをテストできます。

于 2012-03-23T06:46:07.900 に答える