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

ファイルやフォルダのアクセス権を確認するには、showaclsコマンドが利用できる。ただしこのコマンドではアクセス権を変更することはできない。showaclsコマンドはリソースキットに含まれている。

» 2010年07月03日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

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

対象:Windows XP、Windows Server 2003


ファイルのセキュリティ情報を調べたい

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

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

showacls.exeのヘルプ

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

 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)と表示される。

※拒否エントリがある場合の例
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]



「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。