で紹介したようなエクスプローラーの機能やicaclsコマンドは、ユーザーに使いやすいように、「情報としてのACL」を加工して「ACLのようなもの」を表示している。実体としてのACLは、ユーザーが持つアクセス権を示すビットでしかなく、実利用での「書き込み禁止」といった設定に対して複数のビットを操作しなくてはならず、これをユーザーにやらせると、間違った操作になる可能性が高く、場合によっては、ユーザー自身で解決ができなくなるケースも生じうる。
もう1つの理由としては、ACLは、ファイルだけでなく、セキュリティ保護が可能なオブジェクトすべてで使われるため、そのドキュメントはどうしても難解なものになりがちである。これに対して、エクスプローラーやicaclsコマンドは、ファイルだけを対象にしている。今回は、ファイルACLの定義を見ていくことにする。定義は、WindowsのSDK(Windows Kit)に含まれているヘッダーファイルの中にある。また、C++などの言語を使って、WindowsのAPIを呼び出すプログラムを開発するためのドキュメントがMicrosoftのサイトに用意されている。 ACEは、ACEのタイプなどを表すヘッダ情報とアクセス権を示す32bitのデータ(アクセスマスク)、対象となるプリンシパル(のSID)や対象となるオブジェクトのタイプ(GUIDで表現されている)などが含まれている。つまり、ACEは、「誰に」「何を」「許可/禁止」するのか、「継承」はできるのか、という情報を持っていて、ACLは、このACEを複数持つことでアクセスの制御を細かく設定できる。このアクセス権が32bitのバイナリ情報になっているのは、多数のACEを高速に検査して、アクセス権を判定するためである。ACEは、継承されたり、個別に設定されることがある。また、ユーザーのグループなどにもアクセス権を与えることができるため、アクセス権を調べるには、アクセスするプリンシパルに有効なすべてのACEを調べる必要がある。このとき、アクセス権がビットで表された「数値」になっているほうが計算がしやすい。
日本 最新ニュース, 日本 見出し
Similar News:他のニュース ソースから収集した、これに似たニュース記事を読むこともできます。
ソース: gamespark - 🏆 42. / 63 続きを読む »