エクスプローラーからACLのようなものを見る
エクスプローラーで適当なディレクトリ(フォルダー)を選択し、右クリックでプロパティを開く。その「セキュリティ」タブは、ACLからの情報を表している。
ただし、これはACLそのものではなく、ユーザーにわかりやすいようにとMicrosoftが“配慮”したものだ。上のリストの「グループ名またはユーザー名」がプリンシパル、下のリストはプリンシパルが持つアクセス許可である。
ここに詳細設定ボタンがあるので押すと、別のダイアログボックス「~のセキュリティの詳細設定」が表示される。
詳細設定のボタンを押すと別のダイアログが表示される。ここでは、プリンシパルごとに要約したアクセス権を表示できる。このリストの各行がACLに含まれるACEに相当する。細かなアクセス権を調べるには、リストの項目を選択して「表示」ボタンを押す
ここでようやく「プリンシパル」の表記が出る。同じリストにある「アクセス」は、ACEによるアクセス権を要約して表示したもの。ファイル用のACEには多数のアクセス項目があり、そのうち、よく使われるパターンに名前がついていて、それがここに表示される。名前のないパターンは「特別なアクセス許可」と表示される。
ここでプリンシパルを選んで、下の「表示」(または編集)ボタンを押すと、さらに別のダイアログ「~のアクセス許可エントリ」が表示される。
「アクセスの許可エントリ」で最初に表示されるのは「基本のアクセス許可」で、プロパティのアクセス許可として表示されていたものと同じ簡約情報である。ウィンドウ右上の「高度なアクセス許可を表示する」をクリックすることで、さらに詳細な情報が得られる
最初に見えるのは、プロパティのセキュリティダイアログと同じ設定項目だが、右側の「高度なアクセス許可を表示する」をクリックすると多数の項目が現れる。
これは、GUI側からアクセスできるACEに含まれるアクセス権の一部だ。ここでACLを構成するACEの一部を見ることができるが、実際には、ここに表示されないアクセス権がACEにはある。
コマンドラインでさらに追求する
今度は同じディレクトリでコマンドプロンプトウィンドウ(Windows Terminalでも可)を開く。自分のファイルを見るなら、管理者権限で開く必要はないし、cmd.exeでもPowerShellでもいい。ただ、面倒なことも多いので、cmd.exeを使うほうがよい(一部のコマンドライン引数がPowerShellで解釈されてしまうことがある)。ここでWindows組み込みのコマンドicacls.exeを使う。
icacls.exe 〈ファイル/ディレクトリ名〉
とすることで、対象のアクセス権とプリンシパルを表示できる。
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そのものの解説に入る。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ













