Windows ACLとは何ですか?なぜそれらが重要なのですか?
私はこの wiki ページで以下を見つけました。
コンピュータファイルシステムに関するアクセス制御リスト(ACL)は、オブジェクトに添付されているアクセス許可のリストです。 ACLは、オブジェクトへのアクセスを許可するユーザーまたはシステムプロセス、および特定のオブジェクトで許可される操作を指定します。一般的なACLの各エントリは、サブジェクトと操作を指定します。たとえば、ファイルに(Alice、delete)を含むACLがある場合、これにより、Aliceにファイルを削除する権限が与えられます。
「なぜそれらが重要なのか」についてのあなたの質問に答えるために。まだ理解していない場合、それらを持っていない場合、権限は存在しません。これは、Windowsが特定の特権を持っている人を理解する方法です。
このように見ることができます。
NTFS上のすべてのオブジェクトには、シリアル番号があります(ユーザーアカウント、ユーザーグループ、プロセス、デバイスなどを含む)。アクセス制御リストは、どのシリアル番号が別のシリアル番号にアクセスできるか、およびどの権限が設定されているかを追跡します。権限が付与されたシリアル番号を持つすべてのものについて考えてみてください。
FREDという名前のユーザーを削除すると、そのシリアル番号が削除され、ACLから削除されます。事実上、FREDのシリアル番号は他のデバイスに関連付けられなくなり、それらのデバイスで持っていた権限も削除されます。
ユーザー名FREDを再作成すると、新しいシリアル番号が割り当てられます。 ACLは、これを新しい番号として認識します。したがって、削除されたFREDアカウントが持っていた権限は再確立されません。
これがACLとは何か、ACLがどのように機能するか、そしてなぜそれが重要なのかを概念化するのに役立つことを願っています。
アクセス制御リスト(ACL)には、0個以上のアクセス制御エントリ(ACE)があります。 Windowsのさまざまなオブジェクトには、ファイル、デバイス、プリンター、レジストリエントリなど、ACLを含めることができます。 (チェックアウト SysInternalのWinObj Windowsの「名前空間」内のすべての異なるタイプのオブジェクトの概要を取得したい場合-多くはWindowsの内部にあり、ユーザーに直接公開されていません)
ACEはで構成されています
そして
ACLは継承できます。つまり、下位レベルのディレクトリ内のファイルは上位レベルのディレクトリからACLを継承できます。
これがWindowsがプロセスに特権を与えて強制する方法であるため、これらは重要です。各プロセスはユーザーとして実行され、そのユーザーが1つ以上のACEに「該当する」場合、Windowsはそれらすべてを解決して、特定のアクションが許可されているかどうかを判断します。