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