はてなブックマーク Yahoo!ブックマークに登録  印刷
Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

caclsコマンドの出力の見方

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2006/01/28
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
コマンド・プロンプト上でACLの内容を操作/確認するにはcacls.exeコマンドが利用できる。
代表的なアクセス権はF、W、W、Cなどで表されるが、特殊なアクセス権の場合は個別に列挙される。
フォルダの場合は適用先が(OI)や(CI)、(IO)という文字列で表される。
 
解説

 TIPS「アクセス制御リストACLとは?」や「有効なファイル・アクセス権を調査する」では、Windows OS(正確にはNTFS)の持つファイルのアクセス制御リスト(Access Control List、以下ACL)について解説した。これらのTIPSでは、ACLの概要や「有効なACL」の確認方法について説明しているので、参考にしていただきたい。

 ACLの設定や確認には、エクスプローラの[プロパティ]ダイアログを利用するのが一般的であるが、コマンド・プロンプト上で実行したい場合もある。多数のファイルやフォルダのACLをまとめて確認したり、設定を変更したりするには、CUIのツールの方が便利だからだ。

 コマンド・プロンプト上でACLの内容を確認したり、設定し直したりするには、cacls.exeというコマンドが利用できる(サポート・ツールにはxcacls.exeという、ほぼ同等の機能を持つスクリプトも用意されている)。本TIPSでは、cacls.exeコマンドの出力の見方(表示されたACLの意味)について解説する。ACLを設定/変更する方法については今後、別TIPSで取り上げる。


操作方法

 cacls.exeコマンドは、ファイルやフォルダに対して設定されているACLの内容を確認したり、変更したりするために利用するコマンドラインのツールである。ACLは(複数の)ACE(Access Control Entry、アクセス制御エントリ)の組み合わせで構成されているが、それらACEの内容をすべて表示させたり、ACEを追加/削除したり、既存のACEの内容を編集したりすることができる。だが、このコマンドの出力形式はやや分かりづらいので、本TIPSで解説する。

caclsコマンドの使い方

 caclsコマンドを引数なしで実行すると、次のように使い方が表示される。

C:\>cacls
ファイルのアクセス制御リスト(ACL) を表示または変更します。

CACLS ファイル名 [/T] [/E] [/C] [/G ユーザー名:アクセス権]
                 [/R ユーザー名 [...]] [/P ユーザー名:アクセス権 [...]]
                 [/D ユーザー名 [...]]
  ファイル名        ACL を表示します。
  /T                現在のディレクトリとすべてのサブディレクトリにある
                    指定されたファイルの ACL を変更します。
  /E                ACL を置き換えずに、ACL を編集します。
  /C                アクセス拒否エラーを無視して、ACL の変更を続行します。
  /G ユーザー名:アクセス権
                    指定されたユーザーにアクセス権を与えます。
                    アクセス権: R  読み取り
                                W  書き込み
                                C  変更 (書き込み)
                                F  フル コントロール
  /R ユーザー名     指定されたユーザーのアクセス権を失効させます。
                    (/E オプションと共に使用)。
  /P ユーザー名:アクセス権
                    指定されたユーザーのアクセス権を置き換えます。
                    アクセス権: N  なし
                                W  書き込み
                                R  読み取り
                                C  変更 (書き込み)
                                F  フル コントロール
  /D ユーザー名     指定されたユーザーのアクセスを拒否します。
複数のファイルを指定するには、ワイルドカードを使用できます。
複数のユーザーを指定できます。

省略形:
   CI - コンテナ継承。
        ACE はディレクトリに継承されます。
   OI - オブジェクト継承。
        ACE はファイルに継承されます。
   IO - 継承のみ。
        ACE は現在のファイル/ディレクトリに適用されません。

caclsコマンドによるACLの表示

 caclsに続けて、ファイル名やフォルダ名(ワイルドカードも利用可)を指定すると、それらのACLが1ファイル/フォルダずつ表示される。

 例えば、次のようなACLが設定されたフォルダがあるとする。

あるフォルダに設定されたACLの例
これは、user01というフォルダに対して、ユーザーuser01/Administratorsグループ/Usersグループにフルコントロール、OtherGroup1にアクセス拒否、OtherGroup2に読み取り許可、などの設定を行った場合の例である。
  ここが「拒否」の場合は指定された操作やアクセスが(明示的に)禁止され、「許可」の場合は、その操作が許可される。
  対象となるグループやユーザー名。「CREATOR OWNER」は作成者という意味。
  アクセス許可。「フル コントロール」はあらゆる操作が該当する。「特殊」は、各権限を自由に組み合わせたものであり、実際の設定内容は[編集]ボタンを押すと確認できる。
  フォルダの場合は、このフォルダに設定されているACLなどを、サブフォルダへと継承させることができる。この「適用先」は、実際にどのレベルのフォルダまで継承できるかを表す。ファイルの場合はこの属性はない。

 このフォルダの内容をcaclsコマンドで出力させると、次のようになる。

caclsによるACLの表示例
これは、上の画面と同じACLを、caclsコマンドで表示させた場合の例である。このフォルダのACLには、全部で8つのACEが含まれていることが分かる(これは上のプロパティ画面のACEの数と一致している)。
  対象となるファイル名やフォルダ名。
  ACEの対象アカウント名。ユーザー名やグループ名、組み込みのシステム・アカウント名など。
  フォルダの場合は、このようにACEの適用先が「(OI)」や「(CI)」「(IO)」という文字列で表示される(「このフォルダにのみ適用」の場合は表示されない)。
  ACEの種類が「許可」の場合は何も表示されないが、「拒否」の場合はこのように「(DENY)」と表示される。
  代表的なアクセス権についてはFやR、W、Cなどと省略形で表示されるが、そうでない場合は個別のアクセス権が次行以降に列挙される。
  列挙された個別のアクセス権。
  組み込みアカウントの例。先頭に「BUILTIN\〜」と表示される。
  フルコントロールの場合はこのようにFと表示される。
  Everyoneアカウント。
  Rは読み出しのみ可能という意味。
  こちらは、このフォルダに対するアクセス権。このフォルダは「BUILTIN\Users」グループからフルコントロールでアクセス可能。
  こちらは、このフォルダおよびサブフォルダなどに対するアクセス権。このフォルダ中に作成されるファイルやフォルダは、「BUILTIN\Users」グループに対して読み取りの権限を持つ。

 caclsの結果は次のようになっている。

 最初に(一番左に)表示されているのが、対象となるファイルやフォルダの名称である()。この例では、C:\Folder\user01というフォルダのACLを表示させている。

 その右に表示されているのが、ACLを構成する各ACEの要素である。基本的なフォーマットは、「ACEのアカウント名:アクセス権」か、「ACEのアカウント名:ACEの適用先 アクセス権」となる。ACEは1行ずつ表示されるが、上ののように、特殊なアクセス権では複数行にまたがって表示されることがある。

■アカウント名(

 アカウント名は、ローカルのコンピュータ上のアカウントの場合は「コンピュータ名\アカウント名」となり、ドメイン・アカウントの場合は「ドメイン\アカウント名」となる。

■ACEの適用先(

 このACEの適用先という情報は、フォルダの場合にしか存在しないものであり、先のセキュリティ画面では、の「適用先」という欄に相当する。ここには「(OI)」や「(CI)」「(IO)」という文字列(およびその組み合わせ)が表示されているが、それぞれ、次のような意味を持っている。

表示名 意味
(OI) Object Inheritの略。このフォルダ(この例ではuser01フォルダ)中に作成されたファイルにのみ適用する。適用先の「このフォルダとファイル」に相当
(CI) Container Inheritの略。このフォルダ中に作成されたサブフォルダにのみ適用する
(IO) Inherit Onlyの略。このフォルダには適用せず、その中に作成されたファイルやフォルダにのみ適用する
(IO)(CI) このフォルダにのみ適用する
(OI)(CI)(IO) このフォルダ、サブフォルダ、およびファイルに適用する
(CI)(IO) サブフォルダにのみ適用する
(OI)(IO) ファイルにのみ適用する
(なし) このファイルやフォルダにのみ適用し、サブフォルダへは適用しない
ACEの適用先文字列の意味
フォルダの場合は、このように、ACEをどこに適用するかを指定するための文字列が表示される。

■アクセス権

 そのファイルやフォルダに適用されるアクセス権。ただし先頭に「(DENY)」という表示が付いている場合は()、その操作が拒否される。アクセス権は、実際には10個以上の個別の権限の集合であるが、代表的なものについては以下のように1文字の省略形が用意されている。End of Article

表示
意味
F
フルコントロール。すべての操作が対象となる
W
書き込み可能
R
読み出しのみ可能
C
変更(書き込み)可能
N
アクセス権なし
アクセス権の省略型表示
 
関連記事(Windows Server Insider)
Windows TIPS:アクセス制御リストACLとは?
Windows TIPS:有効なファイル・アクセス権を調査する
Windows TIPS:caclsコマンドの出力の見方
Windows TIPS:caclsコマンドでACLを編集する
Windows TIPS:セキュリティ設定を記述するSDDL文字列とは?
Windows TIPS:caclsコマンドでACLを編集する(SDDL編)
Windows TIPS:オブジェクトを識別するSIDとは?
Windows TIPS:caclsコマンドをバッチ・ファイルで利用する
 
この記事と関連性の高い別のWindows TIPS
caclsコマンドでACLを編集する
セキュリティ設定を記述するSDDL文字列とは?
アクセス制御リストACLとは?
caclsコマンドでACLを編集する(SDDL編)
有効なファイル・アクセス権を調査する
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」
Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード


スキルアップ/キャリアアップ
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  New! 自社システムがブラックボックス化しない
有効なアウトソーシングサービスとは?

  New! 【特集】OCNのオンデマンド型
インターネットVPNが誕生!

  New! 【Ruby】と【Java】のキーマンに聞いた!
日本の技術者が世界で活躍する条件とは?

  New! PC操作を逆手に取られてうっかり感染
最新のメールの攻撃手法を知ろう

  タワー型サーバより管理がラクなの!?
新人管理者あきこちゃんのサーバ導入記

  クライアントPCにファイルを残さない!
そんなニーズにも対応の帳票出力用ソフト

  ありそうでなかった!専用サーバとハウジ
ングのいいとこ取りな中間的サービス

  グルメサイトの最大手・ぐるなびの革新を
支えるエンジニア集団の魅力とは!

  組み込み系SW開発業界で熱望される人材
「テストエンジニア」を目指すべきか否か

  文書セキュリティ実践は文書活用にあり!
その基本的な考え方と実践方法を伝授

  「お客様のサービスを止めない!」
24時間体制で監視/運用する充実のiDC

  クラスタの常識を打ち破れ!――止められ
ないシステムには、手間要らずの二重化を

  何のために、どんなログを採取するのか?
内部統制のためのログ管理にフォーカス!

  【無料講演】プロジェクトを可視化せよ!
NASAとDisneyが注目したマネジメントとは

  10年後、なりたい自分になるために――
「社会人大学院」選びのポイントとは?

  「日本の優れたソフトウェアを海外へ」
サムライテクノロジストたちの挑戦に迫る

  データもプログラムもOSも……一切なし!
常識を越えたウルトラ・シンクライアント

  中小規模システムにこそブレード型サーバ
が最適な理由を訊く――

  新たに記録された脆弱性のうち7割近くが
ゼロデイ攻撃の対象となり得る?!

  もはや「手の届かない存在」ではない!?
ハイエンドストレージが“身近”な存在に

  企業のITシステムに浸透する「Web 2.0」
最先端技術に触れて、Ajaxを体感しよう!