19
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

エニプラAdvent Calendar 2024

Day 25

icaclsコマンドって何?

Last updated at Posted at 2024-12-24

今の現場でicaclsコマンドを使う機会がありましたが、よく知らなかったので調べてみました。

icaclsコマンドとは?

icaclsコマンドとは、Windowsでファイルやフォルダーのアクセス制御リスト(ACL)を管理するためのコマンドです。

アクセス制御リスト(Access Control List、ACL)は、ユーザーやグループに対するファイルやフォルダーへのアクセス権限を指定するリストです。具体的には、「読み取り」「書き込み」「実行」などの権限をユーザーごとに設定することが可能です。

つまり、ファイルやフォルダのアクセス権を変更したりする際に使用するコマンドのようです。

icaclsコマンドの基本構文

アクセス権の表示

ファイルやフォルダーに設定されているアクセス権を確認できます

icacls <ファイル名またはフォルダ名>

表示されるアクセス権には様々な種類がありますが、主に使われるものを紹介します。

  • F:フルアクセス権限
  • RX:読み取りと実行権限
  • R:読み取り権限
  • W:書き込み権限

アクセス権の設定

特定のユーザーにアクセス権を付与できます

icacls <ファイル名またはフォルダ名> /grant <ユーザー>:<アクセス権>
  • 例:ユーザ名user1test.txtへのフルアクセスコントロール権限(F)を付与する場合
icacls test.txt /grant user1:F

アクセス権の削除

特定のユーザーのアクセス権を削除できます

icacls <ファイル名またはフォルダ名> /remove <ユーザー>
  • 例:ユーザ名user1test.txtへのアクセス権限を削除する場合
icacls test.txt /remove user1

/removeオプションは対象のアクセス権をすべて削除してしまいます。
仮に読み取り権限(R)だけを拒否したい場合は/denyオプションを利用し、次のように使用します。

icacls test.txt /deny user1:R

継承権限

Windowsのファイルシステムには、ACLの権限設定を親フォルダから子フォルダに自動的に適用し、管理を効率化する「継承権限」という仕組みがあります。
icaclsコマンドと/inheritanceオプションを使って継承権限の設定を行うことができます。

継承の有効化

親フォルダからの継承を有効にし、子フォルダやファイルは親フォルダの権限を継承します。

icacls <フォルダ名> /inheritance:e
  • 例:Projectsフォルダ(C:\Projects)にUser1のアクセス権を設定し、権限をそのフォルダ内の子フォルダやファイルに継承させたい場合
icacls "C:\Projects" /grant User1:F
icacls "C:\Projects" /inheritance:e

継承の無効化

親フォルダからの継承を無効にし、子フォルダやファイルは親フォルダの権限を継承しなくなります。継承されていた権限は削除されます。

icacls <フォルダ名> /inheritance:r
  • 例:Projectsフォルダの子フォルダSubfolder(C:\Projects\Subfolder)の権限を無効化し、User1にのみ独自の読み取り権限を与える場合
icacls "C:\Projects\Subfolder" /inheritance:r
icacls "C:\Projects\Subfolder" /grant User1:R

継承の範囲

icaclsコマンドを使ってアクセス権を表示させると、「継承の範囲」を示すコードが表示されます。
それらはそれぞれ以下のような意味を持ちます。

  • (I):親フォルダから継承されたアクセス権であることを示します
  • (OI):このフォルダ内のファイルにのみ継承された権限が適用され、フォルダや子フォルダには適用されません
  • (CI):このフォルダ内の子ファイルにのみ継承された権限が適用され、フォルダ内のファイルには適用されません
  • (IO):継承のみの設定で、このフォルダ自体には権限が適用されず、子フォルダやフォルダ内のファイルにのみ適用されます

まとめ

icaclsコマンドを使うことでファイルやフォルダの権限を効率的に管理できるようです。

参考資料

19
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?