Windowsのコマンドプロンプトによるファイルのアクセス制御リスト (ACL) を表示または変更する&バックアップ・復元をする方法(icacls)
icaclsコマンド
説明 : ファイルのアクセス制御リスト (ACL) を表示または変更&バックアップ・復元
icacls パラメータ
パラメータ
/t 現在のディレクトリとそのサブディレクトリ内にある指定されたすべてのファイルに対して操作を実行します。
/c ファイル エラーが発生しても操作を続行します。 エラー メッセージが表示されます。
/l リンク先ではなく、シンボリック リンクそのものに対し操作を実行します。
/q 成功メッセージを表示しません。
/save
/setowner
/findSID
/verify [/t] [/c] [/l] [/q] 不整合がある ACLのファイルを検索します。
/reset [/t] [/c] [/l] [/q] ACLを継承されたデフォルトの ACL で置き換えます。
/deny
/remove[:g|:d]]
(:g 指定された SID に許可された権利をすべて削除します。)
(:d 指定された SID に対して拒否された権限をすべて削除します。)
/setintegritylevel [(CI)(OI)]
※レベル
L[ow]
M[edium]
H[igh]
/substitute
/restore
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 (属性の書き込み)
※継承権限
(OI): オブジェクトを継承
(CI): コンテナー継承
(IO): 継承のみ
(NP): 継承しない
ACLとは、フォルダやファイルの権限の詳細設定のことを言う。
ちなみに、以下の画面の設定(セキュリティの詳細設定)。
尚、同様のことができるコマンドで、caclsコマンドもある。
サンプルソース
ファイルのアクセス制御リスト (ACL) を表示
例えば以下の設定をコマンドで表示する。
(入力)
icacls e:\test.txt
(出力)
e:\test.txt BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\Authenticated Users:(I)(M)
BUILTIN\Users:(I)(RX)
サンプルソース
フォルダのアクセス制御リスト (ACL) を表示
例えば以下の設定をコマンドで表示する。
(入力)
icacls e:\folder
(出力)
e:\folder BUILTIN\Administrators:(I)(F)
BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
NT AUTHORITY\Authenticated Users:(I)(M)
NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)
BUILTIN\Users:(I)(RX)
BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)
サンプルソース
ファイルのアクセス制御リスト (ACL) を追加変更
例えば、e:\text.txt のusersの権限をフルアカウントを追加する。
変更をする場合は、コマンドプロンプトを右クリックの管理者実行をする必要がある。
入力前の設定
e:\test.txt BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\Authenticated Users:(I)(M)
BUILTIN\Users:(I)(RX)
(入力)
icacls e:\test.txt /grant users:(f)
(出力)
処理ファイル: e:\test.txt
出力後の設定
e:\test.txt BUILTIN\Users:(F)
BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\Authenticated Users:(I)(M)
BUILTIN\Users:(I)(RX)
サンプルソース
ファイルのアクセス制御リスト (ACL) を保存&復元する
入力前の設定
e:\test.txt BUILTIN\Users:(F)
BUILTIN\Administrators:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\Authenticated Users:(I)(M)
BUILTIN\Users:(I)(RX)
(入力:保存)
icacls e:\test.txt /save e:\back.txt
(出力)
処理ファイル: e:\test.txt
※一度 e:\test.txtのACLを変更し、以下とする
(入力:復元 ⇒ e:\backに戻すファイル名が記載されている)
icacls e:\ /restore e:\back.txt
(出力)
処理ファイル: e:\test.txt
※復元したものは以下の設定になっているのが確認できる。