Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

showaclsコマンドでファイルのセキュリティ情報を表示させる

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

デジタルアドバンテージ 打越 浩幸
2010/07/30
対象OS
Windows XP
Windows Server 2003
ファイルやフォルダのアクセス権を確認するには、showaclsコマンドが利用できる。
ただしこのコマンドではアクセス権を変更することはできない。
showaclsコマンドはリソースキットに含まれている。

解説

 ファイルやフォルダのアクセス権情報(ACL:アクセス制御リスト情報)を表示させるコマンドとして、本TIPSでは「caclsコマンドの出力の見方」や「icaclsコマンドでアクセス制御リスト中のメンバーを検索する」「subinaclコマンドでオブジェクトのセキュリティ情報を表示させる(subinaclの基本)」などのツールを紹介してきた。これ以外にも、showacls.exeというコマンドがあるので、本TIPSで紹介する。

 showacls.exeコマンドは、Windows NTやWindows 2000、Windows Server 2003のリソースキットで提供されているツールである(そのほかのOSでも、実行するだけなら可能)。caclsやicacls、subinaclsなどと違い、ACL(アクセス制御リスト)の内容を表示する機能しかないが、その分表示もシンプルで分かりやすい。

  操作方法

showacls.exeのヘルプ

 showaclsコマンドはWindows 2000、Windows Server 2003のリソースキットに含まれているので、利用したい場合はまずリソースキットを入手して、インストールする。入手方法については次のTIPSを参照していただきたい。

 showaclsに/?オプションを付けて実行すると、簡単なヘルプが表示される(オプションなしで実行するとカレント・フォルダのACLが表示される)。

C:\>showacls /? …ヘルプの表示

Usage:

showacls /s /u:domain\user filespec

/s  include sub-directories
/u  specify domain\user

ACE header values:

0x1 - Object Inherit ACE
0x2 - Container Inherit ACE
0x4 - No Propagate Inherit ACE
0x8 - Inherit Only ACE

Access mask values:

A  Generic All       l  List Directory
R  Generic Read      d  Read Data
W  Generic Write     S  Synchronize
X  Generic Execute   r  File Read
w  File Write        a  File Append
fx File Execute      D  Delete
rE Read EA           rW Write EA

C:\>

 見て分かるように、オプションはほとんどない。

基本的な使い方

 showaclsに対象となるフォルダやファイルを指定して実行すると、そのファイルやフォルダに割り当てられているACLが表示される。c:\Documents and Settings\All Usersと、カレント・フォルダ(C:\Documents and Settings\user001)のACLを見てみよう。

※c:\Documents and Settings\All UsersのACLの表示
C:\Documents and Settings\user001>showacls "c:\Documents and Settings\All Users"
c:\Documents and Settings\All Users
                NT AUTHORITY\SYSTEM       Special Access [A] …5つのエントリが表示されている
                BUILTIN\Administrators    Special Access [A]
                BUILTIN\Users             Special Access [RX]
                BUILTIN\Power Users       Special Access [DdSrwarEwEfx]
                Everyone                  Special Access [RX]

※カレント・フォルダのACLの表示
C:\Documents and Settings\user001>showacls .
C:\Documents and Settings\user001\
                EXAMPLE-DOM\user001       Special Access [A] …3つのエントリが表示されている
                NT AUTHORITY\SYSTEM       Special Access [A]
                BUILTIN\Administrators    Special Access [A]

※[参考]caclsコマンドによる、同じフォルダのACLの表示例
C:\Documents and Settings\user001>cacls .
C:\Documents and Settings\user001 EXAMPLE-DOM\user001:F
                                  NT AUTHORITY\SYSTEM:F
                                  BUILTIN\Administrators:F
                                  EXAMPLE-DOM\user001:(OI)(CI)(IO)F
                                  NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
                                  BUILTIN\Administrators:(OI)(CI)(IO)F

 caclsコマンドなどと違って、表示形式は非常にシンプルである(アクセス権の意味についてはTIPS「アクセス制御リストACLとは?」参照)。特に(OI)や(CI)などといった、継承に関する情報は表示されていないので、理解しやすいだろう。なおエントリ数が違うのは(最後のcaclsの例では5エントリ表示されているが、showaclsでは3エントリしか表示されていない)、いくつかのACE(ACL中のエントリ)が継承の有無で分割して表示されているからである。エクスプローラでファイルのプロパティにあるセキュリティ情報を見ると、実際には3エントリしか表示されないので、showaclsの方が分かりやすいかもしれない。

 さてshowaclsコマンドの結果には、「Special Access [A]」や「Special Access [DdSrwarEwEfx]」という表示があるが、これは個別のアクセス権を表している。その意味は次のとおりである。なお「Special」は個別のアクセス権の集合であることを示す。ほかにも代表的なものには「Full Control」や「Read」「Change」などの名称が付けられている。

略字
意味
A
ジェネリック・オール
R
ジェネリック読み出し可能
W
ジェネリック書き込み可能
X
実行可能
l
リスト可能
d
データ読み出し
S
シンクロナイズ
r
ファイル読み出し可能
w
ファイル書き込み可能
a
アペンド(追加)可能
fx
ファイル実行可能
D
削除可能
rE
拡張属性の読み出し可能
wE
拡張属性の書き込み可能
ALL
フルコントロールの場合は「Full Control [ALL]」のように表示される
(DENIED)
許可エントリではなく、拒否エントリであることを表す
showaclsの出力におけるアクセス権文字の意味
ここでは訳してあるが、これらは実際にはアクセス権を示すプログラム上のビット定義に基づいている。例えばRは「GENERIC_READ」という属性(定数定義)に相当する。

 先ほどの例にある「DdSrwarEwEfx」は、「D」「d」「S」「r」「w」「a」「rE」「wE」「fx」を合成したものを表す。

 アクセスを拒否するエントリがある場合は、次のように、先頭に(DENIED)と表示される。End of Article

※拒否エントリがある場合の例
X:\CompanyData>showacls X:\CompanyData
X:\CompanyData
                EXAMPLE-DOM\outerstaff (DENIED) Full Control [ALL] …拒否エントリ
                BUILTIN\Administrators    Full Control [ALL] …以下は許可エントリ
                EXAMPLE-DOM\Board         Full Control [ALL]
                EXAMPLE-DOM\Staffs        Change [RWXD]
                NT AUTHORITY\SYSTEM       Full Control [ALL]

「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

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

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH