これまで3回に渡り(「WindowsのACL(Access Control List)を解説する【準備編】」、「WindowsのACL(Access Control List)を解説する【定義編】」、「icacls.exeコマンドの設定項目とWindows内部のACL設定との関係」)、Windows ACLについて解説してきたが、今回は最後にエクスプローラーのプロパティにある「アクセス許可エントリ」(「セキリティタブ」→「詳細ボタン」)で表示される「アクセス許可」などと、ACLの関係を解説する。
エクスプローラーのアクセス権設定
エクスプローラーでファイルやディレクトリを選択して右クリックメニューからプロパティダイアログを開き、セキュリティタブにある「詳細設定」ボタンを使うことで、セキュリティの詳細設定ダイアログが開く。
ここで、ACLによるアクセス制御の対象となるプリンシパルを選び、下の「表示」あるいは「編集」ボタンを押すと、「アクセス許可エントリ」ダイアログボックスが開く。これが、ファイルの特定のプリンシパルのACLに含まれるACEを表す。ここには、「基本のアクセス許可」と「高度なアクセス許可」の2つがあるが、説明の都合からまずは後者の「高度なアクセス許可」から解説する。

セキュリティの詳細設定にある「アクセス許可」では、ファイルやディレクトリに対して設定してあるACLを簡略化したリストを表示する。リストで項目を選択して表示や編集ボタンを押すことで「アクセス許可エントリ」のダイアログが開く
このダイアログは、対象がファイルかディレクトリかで形式が違う。

特定のプリンシパルに対して設定されているACEに対応するのが、セキュリティの詳細設定ダイアログで、これはファイル用のもの。ファイルはACLでいうオブジェクトに相当し、子要素を持たないため、継承関係の設定項目がない
対象がディレクトリの場合、ダイアログボックス上部に「適用先」のドロップダウンリストがあり、アクセス許可の下部に「これらのアクセス許可を、……適用する」というチェックボックスがある。ディレクトリが「親」としてファイルやサブディレクトリにアクセス権を継承させる役割があるからだ。
継承は、ACE(Access Control Entry)のヘッダ部分で制御される。ここにはACEフラグと呼ばれる5つのビットがある。
このうち、1つはACEが親から継承したものであることを示すビットで、残りの4ビットは、継承の振る舞いを指定するために「親」となるディレクトリに設定されるビットだ。ファイルシステムの中では、ディレクトリのみが親となって、子となるファイルやサブディレクトリにACLを継承させる。なので、継承の指定はディレクトリだけですることができる。
4つのビットは、「オブジェクトに継承させるか」「コンテナーに継承させるか」「子には継承させるが、孫以下には継承させない」「継承させるだけで子には適用しない」という動作を表す。icacls.exeでは、これをアルファベットで表記している。
エクスプローラーでは、このビットのうち、「NO_PROPAGATE_INHERIT_ACE」(NP)ビット以外の3つの組み合わせを適用先で指定する。
この3ビットの論理上の組み合わせは8通りになるが「INHERIT_ONLY_ACE」ビット単体では無意味なので、実際には7通りだ。それを文章で表現したものが、アクセス許可エントリのドロップダウンリストである。
そして、「NO_PROPAGATE_INHERIT_ACE」(NP)ビットに対応するのが、アクセス許可の下にある「これらのアクス許可を、このコンテナーの中にあるオブジェクトやコンテナーにのみ適用する」というチェックボックス。このNPビットは、ファイルやサブディレクトリに継承されたのち、それらで継承ビットがオフにするという動作になっている。

この連載の記事
- 第333回 Windows 11の大型アップデート「Ver.22H2」ではこんな改良点がある【システム&設定アプリ】
- 第332回 Windows 11の大型アップデート「Ver.22H2」ではこんな改良点がある【エクスプローラー&タスクマネージャー】
- 第331回 Windows 11の大型アップデート「Ver.22H2」ではこんな改良点がある【タスクバーとスナップレイアウト】
- 第330回 Windows 11で初めての大型アップデート、Ver.22H2はこうなる
- 第329回 Windowsでコマンドラインからウィンドウ部分だけを画面キャプチャーする
- 第328回 Windows 10/11で可能だが、デフォルトでオフになっているSMB圧縮の効果を試す
- 第327回 Windowsでコマンドラインから画面キャプチャーをする
- 第325回 icacls.exeコマンドの設定項目とWindows内部のACL設定との関係
- 第324回 WindowsのACL(Access Control List)を解説する【定義編】
- 第323回 WindowsのACL(Access Control List)を解説する【準備編】
- この連載の一覧へ