指定したファイルの随意アクセス制御リスト (DACL) を表示または変更し、指定したディレクトリ内のファイルに格納された DACL を適用します。
注
このコマンドは、非推奨の cacls コマンドを置き換えます。
構文
icacls name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]
パラメーター
パラメーター | 説明 |
---|---|
<name> |
DACL を表示または変更するファイルを指定します。 |
<directory> |
DACL を表示または変更するディレクトリを指定します。 |
/t | 現在のディレクトリとそのサブディレクトリ内の指定されたすべてのファイルに対して操作を実行します。 |
/c | ファイル エラーが発生した場合でも操作を続行します。 エラー メッセージは引き続き表示されます。 |
/l | リンク先ではなくシンボリック リンクに対して操作を実行します。 |
/q | 成功メッセージを抑制します。 |
/セーブ <ACLfile> |
一致するすべてのファイルの DACL をアクセス制御リスト (ACL) ファイルに格納し、後で /restore で使用できるようにします。 |
/setowner <user> |
一致するすべてのファイルの所有者を指定したユーザーに変更します。 |
/findsid <sid> |
指定したセキュリティ識別子 (SID) を明示的にメンションする DACL を含む一致するすべてのファイルを検索します。 |
/確かめる | ACL が正規ではない、または長さがアクセス制御エントリ (ACE) の数と一致しないすべてのファイルを検索します。 |
/リセット | ACL を、一致するすべてのファイルの既定の継承された ACL に置き換えます。 |
/grant[:r] <sid> :<perm> |
指定したユーザー アクセス権を付与します。 アクセス許可は、以前に付与された明示的なアクセス許可を置き換えます。 :r を追加しないということは、以前に付与された明示的なアクセス許可にアクセス許可が追加されることを意味します。 |
/deny <sid> :<perm> |
指定されたユーザー アクセス権を明示的に拒否します。 指定されたアクセス許可に対して明示的な拒否 ACE が追加され、明示的な許可と同じアクセス許可が削除されます。 |
/remove: g |d <sid> |
指定した SID のすべての出現箇所を DACL から削除します。 このコマンドでは、次のコマンドを使用することもできます。 |
/setintegritylevel <perm><level> |
一致するすべてのファイルに整合性 ACE を明示的に追加します。 レベルは次のように指定できます。 整合性 ACE の継承オプションは、レベルの前にあり、ディレクトリにのみ適用されます。 |
/代える <sidold> <sidnew> |
既存の SID (sidold) を新しい SID (sidnew) に置き換えます。
<directory> パラメーターで使用する必要があります。 |
/restore <ACLfile> /c | /l | /q |
<ACLfile> から、指定したディレクトリ内のファイルに格納された DACL を適用します。
<directory> パラメーターで使用する必要があります。 |
/inheritancelevel: e |d |r | 継承レベルを設定します。次のことができます。 |
注釈
SID は、数値形式またはフレンドリ名形式のいずれかになります。 数値形式を使用する場合は、SID の先頭にワイルドカード文字 * を貼り付けます。
このコマンドは、ACE エントリの正規の順序を次のように保持します。
明示的な拒否
明示的な許可
継承された拒否
継承された許可
<perm>
オプションは、基本権限、高度な権限、または継承権限に指定できるアクセス許可マスクです。かっこを使用する必要のない一連の単純な権限 (基本的なアクセス許可):
- N - アクセスなし
- F - フル アクセス
- M - アクセスの変更
- RX - 読み取りと実行アクセス
- R - 読み取り専用アクセス
- W - 書き込み専用アクセス
- D - アクセスの削除
かっこを使用する必要がある特定の権限 (高度なアクセス許可) のコンマ区切りのリスト。
- DE - 削除
- RC - 読み取り制御 (読み取りアクセス許可)
- WDAC - DAC の書き込み (アクセス許可の変更)
- WO - 書き込み所有者 (所有権を取得)
- S - 同期
- AS - アクセス システムのセキュリティ
- MA - 許可される最大値
- GR - 汎用読み取り
- GW - 汎用書き込み
- GE - 汎用実行
- GA - 汎用すべて
- RD - データ/リスト ディレクトリの読み取り
- WD の - データの書き込み/ファイルの追加
- AD - データの追加/サブディレクトリの追加
- REA - 拡張属性の読み取り
- WEA - 拡張属性を書き込む
- X - 実行/走査
- DC - 子の削除
- RA - 属性の読み取り
- WA の - 属性の書き込み
かっこを使用する必要がある継承権限のシーケンス:
- (I) - 継承。 ACE は親コンテナーから継承されます。
- (OI) - オブジェクト継承。 このコンテナー内のオブジェクトは、この ACE を継承します。 ディレクトリにのみ適用されます。
- (CI) - コンテナー継承。 この親コンテナー内のコンテナーは、この ACE を継承します。 ディレクトリにのみ適用されます。
- (IO) - 継承のみ。 ACE は親コンテナーから継承されましたが、オブジェクト自体には適用されません。 ディレクトリにのみ適用されます。
- (NP) - 継承を伝達しません。 ACE は親コンテナーからコンテナーとオブジェクトによって継承されますが、入れ子になったコンテナーには反映されません。 ディレクトリにのみ適用されます。
例示
C:\Windows ディレクトリとそのサブディレクトリ内のすべてのファイルの DACL を ACLFile ファイルに保存するには、次のように入力します。
icacls c:\windows\* /save aclfile /t
C:\Windows ディレクトリとそのサブディレクトリに存在する ACLFile 内のすべてのファイルの DACL を復元するには、次のように入力します。
icacls c:\windows\ /restore aclfile
ユーザーに Test1 という名前のファイルに対する DAC の削除および書き込みアクセス許可をユーザーに付与するには、次のように入力します。
icacls test1 /grant User1:(d,wdac)
SID S-1-1-0 で定義されたユーザーに TestFile という名前のファイルへの DAC の削除と書き込みのアクセス許可を付与するには、次のように入力します。
icacls TestFile /grant *S-1-1-0:(d,wdac)
高い整合性レベルをディレクトリに適用し、そのファイルとサブディレクトリの両方がこのレベルを継承していることを確認するには、次のように入力します。
icacls "myDirectory" /setintegritylevel (CI)(OI)H