web-dev-qa-db-ja.com

Windows ACLとは何ですか?

Windows ACLとは何ですか?なぜそれらが重要なのですか?

10
user1413

私はこの wiki ページで以下を見つけました。

コンピュータファイルシステムに関するアクセス制御リスト(ACL)は、オブジェクトに添付されているアクセス許可のリストです。 ACLは、オブジェクトへのアクセスを許可するユーザーまたはシステムプロセス、および特定のオブジェクトで許可される操作を指定します。一般的なACLの各エントリは、サブジェクトと操作を指定します。たとえば、ファイルに(Alice、delete)を含むACLがある場合、これにより、Aliceにファイルを削除する権限が与えられます。

「なぜそれらが重要なのか」についてのあなたの質問に答えるために。まだ理解していない場合、それらを持っていない場合、権限は存在しません。これは、Windowsが特定の特権を持っている人を理解する方法です。

9
David

このように見ることができます。

NTFS上のすべてのオブジェクトには、シリアル番号があります(ユーザーアカウント、ユーザーグループ、プロセス、デバイスなどを含む)。アクセス制御リストは、どのシリアル番号が別のシリアル番号にアクセスできるか、およびどの権限が設定されているかを追跡します。権限が付与されたシリアル番号を持つすべてのものについて考えてみてください。

FREDという名前のユーザーを削除すると、そのシリアル番号が削除され、ACLから削除されます。事実上、FREDのシリアル番号は他のデバイスに関連付けられなくなり、それらのデバイスで持っていた権限も削除されます。

ユーザー名FREDを再作成すると、新しいシリアル番号が割り当てられます。 ACLは、これを新しい番号として認識します。したがって、削除されたFREDアカウントが持っていた権限は再確立されません。

これがACLとは何か、ACLがどのように機能するか、そしてなぜそれが重要なのかを概念化するのに役立つことを願っています。

2
Mike

アクセス制御リスト(ACL)には、0個以上のアクセス制御エントリ(ACE)があります。 Windowsのさまざまなオブジェクトには、ファイル、デバイス、プリンター、レジストリエントリなど、ACLを含めることができます。 (チェックアウト SysInternalのWinObj Windowsの「名前空間」内のすべての異なるタイプのオブジェクトの概要を取得したい場合-多くはWindowsの内部にあり、ユーザーに直接公開されていません)

ACEはで構成されています

  • Aprincipal。通常、これはユーザーまたはグループのいずれかです。これは、ドメインコントローラー上のActive Directoryデータベース内のユーザー、グループ、コンピューター、またはローカルユーザーである可能性があります。 「Everyone」や「AuthenticatedUsers」などの「仮想」グループがあります。

そして

  • 1つ以上の機能。各機能は、[許可]または[拒否]に設定できます。機能の例としては、「読み取り」、「書き込み」、「リストの内容」などがあります。拒否は許可よりも優先されます。ファイルなどのほとんどのオブジェクトは、特定の「許可」ACLが使用可能でない限り、アクセスまたは変更を許可しません。したがって、拒否は特別な状況でのみ使用する必要があります。

ACLは継承できます。つまり、下位レベルのディレクトリ内のファイルは上位レベルのディレクトリからACLを継承できます。

これがWindowsがプロセスに特権を与えて強​​制する方法であるため、これらは重要です。各プロセスはユーザーとして実行され、そのユーザーが1つ以上のACEに「該当する」場合、Windowsはそれらすべてを解決して、特定のアクションが許可されているかどうかを判断します。

2
LawrenceC