【あいしーえーしーえるえす】

icacls とは?

💡 Windowsファイルのアクセス権を「確認・設定」するコマンド
📌 このページのポイント
icacls — ファイルのアクセス権限管理 C:\> icacls C:\Data\report.txt ファイルのアクセス権限を表示するコマンド C:\Data\report.txt BUILTIN\Administrators:(F) ← フルコントロール NT AUTHORITY\SYSTEM:(F) ← フルコントロール DOMAIN\Users:(R) ← 読み取り専用 権限の種類 (F) フルコントロール (M) 変更 (W) 書き込み (R) 読み取り (N) なし
icacls:Windowsのファイルアクセス権限を表示・変更するコマンド
ひよこ ひよこ

icaclsって何をするコマンド?

ペンギン先生 ペンギン先生

Windowsのファイルやフォルダのアクセス権(誰が読める・書ける・実行できるか)を確認・変更するコマンドだよ。「icacls C:\data」で指定フォルダの権限一覧が見られる。

ひよこ ひよこ

どんな場面で使うの?

ペンギン先生 ペンギン先生

ファイルサーバで「経理部はこのフォルダを読み取りのみ・書き込み不可にしたい」というアクセス権設定。ファイルを誰かに渡したいけど権限エラーが出る場合の確認・修正。Active Directory環境のファイル権限管理が主な用途。

ひよこ ひよこ

Linuxchmodみたいなもの?

ペンギン先生 ペンギン先生

役割は似ているよ。Linuxchmodchownがファイル権限を管理するのと同様に、icaclsはWindowsNTFSファイルシステムの権限(ACLアクセス制御リスト)を管理する。ただしWindowsの権限モデルの方が細かく設定できる。

ひよこ ひよこ

icaclsの出力って読みにくくない?

ペンギン先生 ペンギン先生

確かに読みにくいよ。「BUILTIN\Users:(OI)(CI)(RX)」のような表記で、OIはObject Inherit(子ファイルに継承)、CIはContainer Inherit(子フォルダ継承)、RXはRead and Execute。最初は暗号に見えるけど、覚えると素早く権限確認できるようになるよ。

ひよこ ひよこ

PowerShellのGet-Aclとicaclsってどっちを使えばいいの?

ペンギン先生 ペンギン先生

どちらでも同じことができるけど、スクリプトで自動化するならGet-Aclの方がオブジェクトとして扱えて便利。コマンドプロンプトで手早く確認・変更するならicaclsが速い。ちなみに大量のファイルの権限を一括変更するときは、icaclsの/Tオプション(サブフォルダ含む再帰処理)が強力で、「icacls C:\data /grant Users:R /T」で配下の全ファイルに読み取り権限を一括付与できるよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
icaclsって出てきたら「WindowsでファイルやフォルダNTFSアクセス権を確認・設定するコマンド」と思えばOK!
📖 おまけ:英語の意味
「Integrity Control ACL(Access Control List)」 = 整合性制御アクセス制御リスト
💬 icacls = "Integrity Control Access Control List Sets" の略。前世代のcaclsを改良してWindows Vista以降で導入された
← 用語集にもどる