質問: icaclsオプション:(oi)(oc)で/ tが必要なのはなぜですか? icacls.exeを使用して、次のようなコマンドでフォルダーにアクセス許可を設定した場合icacls "c:\some\directory" /grant "somedomain\someuser:(oi)(ci)f" /t / tオプションが必要なのはなぜですか? (oi)(ci)によって、c:\some\directoryツリー内のすべてのオブジェクトにアクセス許可が継承されるのではないですか?もう少し具体的に言うと、上記の例でディレクトリc:\some\directory\treeがあるとします。このディレクトリにno明示的なアクセス許可が定義されているとします。明示的なアクセス許可「somedomain\someuser:(oi)(ci)f」をそのディレクトリに追加しても、既に継承されているため、何も実行されません。 icaclsはこれさえしますか? (編集:はい、十分長く待つと!)したがって、ディレクトリツリーに明示的なアクセス許可がないことがわかっている場合は、/ tオプションは本当に必要ありません(これは、数百の8tbディレクトリツリーで膨大な時間を浪費します何百万ものファイル...)
回答: (oi)(ci)によって権限が継承されるのではないですか?いいえ。これは、/tの説明で説明されています。 ファイル/ディレクトリに一致するようにすべてのサブフォルダをトラバースします。これにより、親からアクセス許可を継承するように設定されているかどうかに関係なく、すべてのサブフォルダーにアクセス許可の変更が適用されます。 ソース icacls