エクスプローラーからACLのようなものを見る
エクスプローラーで適当なディレクトリ(フォルダー)を選択し、右クリックでプロパティを開く。その「セキュリティ」タブは、ACLからの情報を表している。
ただし、これはACLそのものではなく、ユーザーにわかりやすいようにとMicrosoftが“配慮”したものだ。上のリストの「グループ名またはユーザー名」がプリンシパル、下のリストはプリンシパルが持つアクセス許可である。
ここに詳細設定ボタンがあるので押すと、別のダイアログボックス「~のセキュリティの詳細設定」が表示される。
![](/img/2022/04/16/3351035/l/1735f4c1ee0c66d5.png)
詳細設定のボタンを押すと別のダイアログが表示される。ここでは、プリンシパルごとに要約したアクセス権を表示できる。このリストの各行がACLに含まれるACEに相当する。細かなアクセス権を調べるには、リストの項目を選択して「表示」ボタンを押す
ここでようやく「プリンシパル」の表記が出る。同じリストにある「アクセス」は、ACEによるアクセス権を要約して表示したもの。ファイル用のACEには多数のアクセス項目があり、そのうち、よく使われるパターンに名前がついていて、それがここに表示される。名前のないパターンは「特別なアクセス許可」と表示される。
ここでプリンシパルを選んで、下の「表示」(または編集)ボタンを押すと、さらに別のダイアログ「~のアクセス許可エントリ」が表示される。
![](/img/2022/04/16/3351036/l/e4ea9d89709e9ae9.png)
「アクセスの許可エントリ」で最初に表示されるのは「基本のアクセス許可」で、プロパティのアクセス許可として表示されていたものと同じ簡約情報である。ウィンドウ右上の「高度なアクセス許可を表示する」をクリックすることで、さらに詳細な情報が得られる
最初に見えるのは、プロパティのセキュリティダイアログと同じ設定項目だが、右側の「高度なアクセス許可を表示する」をクリックすると多数の項目が現れる。
これは、GUI側からアクセスできるACEに含まれるアクセス権の一部だ。ここでACLを構成するACEの一部を見ることができるが、実際には、ここに表示されないアクセス権がACEにはある。
コマンドラインでさらに追求する
今度は同じディレクトリでコマンドプロンプトウィンドウ(Windows Terminalでも可)を開く。自分のファイルを見るなら、管理者権限で開く必要はないし、cmd.exeでもPowerShellでもいい。ただ、面倒なことも多いので、cmd.exeを使うほうがよい(一部のコマンドライン引数がPowerShellで解釈されてしまうことがある)。ここでWindows組み込みのコマンドicacls.exeを使う。
icacls.exe 〈ファイル/ディレクトリ名〉
とすることで、対象のアクセス権とプリンシパルを表示できる。
![](/img/2022/04/16/3351038/l/7ff6a3f924aef058.png)
ACLに関してもう少し詳細な情報を得るなら、icacls.exeコマンドを使う。引数としてファイル名やディレクトリ名を指定すると、対象のACL情報(ただし、まだ簡約化されている)を表示できる。詳しい使い方は、引数を指定せずにicacls.exeを実行すれば表示される。MSのサイトにあるicacls.exeのヘルプページは古いバージョンのものなので、コマンドが表示するオンラインヘルプが現状最も正確である
細かな使い方は、icacls.exeを引数なしで起動すれば表示される。このコマンドはACLを表示するものだが、対応しているのはDACLのみ。また、ファイルシステムのACL専用である。なお、このicacls.exeは、XPまで使われていたcacls.exeの後継版であり、cacls.exeの利用は推奨されなくなった(ただし、Windows 11にもまだ残っている)。
このコマンドでは、アクセス権の表示・指定がエクスプローラーのプロパティとは異なっている。そもそも、エクスプローラーもこのコマンドもACEに含まれるアクセス権そのものを直接表示しているのではなく、理解しやすい形式に変換しているのだ。ある意味、ACLのコマンドといいながら、ACLそのものを表示しているわけではない。
icaclsコマンドは、ディレクトリを対象にすると、子オブジェクトに継承されるアクセス権などを表示することができる。この部分では、エクスプローラーよりも詳細な情報が得られる。
このほかには、PowerShellのget-aclコマンドでもACLからの情報を得ることができるが、一部のアクセス権の表示が数値表示になってしまうなど、不完全な部分がある。そういうわけで、ファイルシステムのACLに関する情報を得るなら、icacls.exeを使うのがいまのところもっともACLに近づくことができる方法だ。
ざっと駆け足で、ACL関連のGUI機能やコマンドの使い方を解説した。icacls.exeを使うとファイルやディレクトリのACLを表示できるだけでなく、削除や追加、置き換えも可能だ。しかし、その操作をするには、もう少しACLを理解する必要がある。というわけで、次回はACLそのものの解説に入る。
![](/img/blank.gif)
この連載の記事
-
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? -
第435回
PC
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように -
第434回
PC
AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 -
第433回
PC
Windows 11の2つのウィジェットを調べる -
第432回
PC
ウェブブラウザが切り開いたWindowsでのタブアプリケーション -
第431回
PC
Windows上でユニコードを「見る」方法 -
第430回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した - この連載の一覧へ