web-dev-qa-db-ja.com

ファイルのアクセス許可「管理者:フルコントロール」。なぜそれが常に十分ではないのですか?

次の状況を考えてみましょう。

マシンに2つのインタラクティブなローカルユーザーアカウントが登録されているとします。AdminAdministratorsグループのメンバー)とAliceUsersグループのメンバー)です。ハードドライブに、次のセキュリティ設定のフォルダTestがあるとします。

Owner : Alice
Permissions:
  System : Full Control
  Administrators: Full Control
  Alice : Full Control

これで、Adminアカウントでログインし、Testフォルダーを開こうとすると、Windowsは最初はそうすることを拒否します。メッセージボックスが表示されます。

"You don't currently have permissions to access this folder"

私の最初の質問は:なぜですか?私はAdminAdministratorsグループのメンバー)としてログインしているため、フォルダーを完全に制御できるはずです。 Windowsが、現在アクセス許可がないと言うのはなぜですか?

これで、前述のメッセージボックスに、「[続行]をクリックしてこのフォルダに永続的にアクセスする」機会も提供されます。 「続行」をクリックすると、フォルダTestを開くことができます。そして、その結果として、Testのセキュリティ設定は次のように変更されます。

Owner : Alice
Permissions:
  System : Full Control
  Administrators: Full Control
  Alice : Full Control
  Admin : Full Control

ご覧のとおり、Windowsは自動的に追加のエントリAdmin: Full Controlをリストに追加しました。その後、制限なしでTestにアクセスできるようになります。ただし、上記の一連のセキュリティ権限は私には冗長なようです。最初からAdministrators: Full Controlエントリがすでに含まれています。なぜそれで十分ではなかったのですか?

したがって、私の2番目の質問は、Windowsが最終的にAdminにその「フルコントロール」を与えるために追加のAdmin: Full Controlエントリが必要なのはなぜかということです。

この動作の背後にある正式なロジックは何ですか?


いくつかの説明

この質問は、私のAdminアカウントが「彼がやりたいことを何でもできる全能の管理者」ではないということではないことに注意してください。私のAdminアカウントが全能であるとはまったく期待していません。実際、最も基本的なレベルでは、Adminアカウントの特別な権利については気にしません。 someグループに属するのはsomeアカウントです。

私の質問は、グループメンバーシップを通じて付与されるファイルシステムのアクセス権についてです。

別の例を考えてみましょう。 Ugly Ducklingsというランダムなユーザーグループを作成したとしましょう。そして、通常のユーザーAliceBobUgly Ducklingsグループに追加しました。

次に、次の権限を持つフォルダーDucklingTestを作成します

Owner : Alice
Permissions:
  Ugly Ducklings : Full Control

これで、Bobとしてログインすると、DucklingTestフォルダー(!)を完全に制御できるようになります。

どうして?

私のBobは全能の管理者ですか?いいえ。私のBobには何らかの特権がありますか?いいえ。Bobにアクセスするには、なんらかの方法でDucklingTestを「昇格」する必要がありますか?番号。

では、なぜBobDucklingTestフォルダーを完全に制御できるのでしょうか。

簡単。 BobUgly Ducklingsグループのメンバーであり、Ugly DucklingsグループにはDucklingTestに対するフルコントロールのアクセス許可が付与されているため、BobDucklingTestフォルダーをフルコントロールできます。話の終わり。

同じロジックがAdminAdministratorsに適用されないのはなぜですか? AdminAdministratorsグループのメンバーであり、AdministratorsグループにはTestフォルダーに対するフルコントロールのアクセス許可が付与されています。ここに何が欠けていますか?この場合、Administratorsグループのメンバーにextra制限のように見えるものを課すことによって、Windowsがどのような種類の追加の「制御」を強制しようとしていますか?

1
AnT

「続行」をクリックすると、フォルダテストを開くことができます

以下に、Windowsが自動的にエントリを追加する理由を説明しますAdmin: Full Control to the list

ユーザーアカウント制御(UAC)が有効になっていて、Windowsエクスプローラーを使用して、読み取りアクセス許可がないフォルダーにアクセスするとします。

さらに、フォルダは非表示属性とシステム属性の両方でマークされていません。この状況では、Windowsエクスプローラーは次のプロンプトを表示するダイアログボックスを表示します。

「現在、このフォルダにアクセスする権限がありません。[続行]をクリックして、このフォルダに永続的にアクセスしてください。」

注意:

  • WindowsVistaおよびWindowsServer 2008では、2番目の文に「永続的に」という単語が含まれていません。 「[続行]をクリックして、このフォルダにアクセスしてください」とだけ表示されます。

次に、[続行]または[キャンセル]をクリックするオプションがあります。 (デフォルトでは[続行]が選択されています。)

  • [続行]をクリックすると、UACはユーザーに代わって管理者権限を取得しようとします。

  • UAC昇格プロンプトの動作を制御するUACセキュリティ設定、および管理者グループのメンバーであるかどうかに応じて、同意または資格情報の入力を求められる場合があります。

  • または、まったくプロンプトが表示されない場合があります。 UACが管理者権限を取得できる場合、バックグラウンドプロセスにより、フォルダーとそのすべてのサブフォルダーおよびファイルに対するアクセス許可が変更され、ユーザーアカウントにそれらへのアクセスが許可されます。

  • WindowsVistaおよびWindowsServer 2008では、バックグラウンドプロセスにより、ユーザーアカウントに読み取りおよび実行のアクセス許可が付与されます。それ以降のバージョンのWindowsでは、このプロセスにより、ユーザーアカウントにフルコントロールが付与されます。

この動作は仕様によるものです。ただし、UAC昇格の一般的なパターンは、管理者権限で昇格されたプログラムのインスタンスを実行することであるため、ユーザーは、[続行]をクリックすると、Windowsエクスプローラーの昇格されたインスタンスが生成され、ファイルシステムのアクセス許可が永続的に変更されないことを期待できます。

ただし、Windowsエクスプローラーの設計では、対話型ユーザーセッションのさまざまなセキュリティコンテキストでの複数のプロセスインスタンスの実行がサポートされていないため、この期待は不可能です。

UACが無効になっている場合、UACの昇格はできません。

  • Windowsエクスプローラーを含め、Administratorsグループのメンバーによって実行されるすべてのプログラムには、常に管理者権限があります。

  • したがって、管理者は、管理者権限を必要とするリソースにアクセスするために昇格を使用する必要はありません。

たとえば、フォルダがAdministratorsグループとシステムアカウントにのみアクセスを許可している場合、管理者はフォルダのアクセス許可を変更するように求められることなく、フォルダを直接参照できます。

  • ユーザーに読み取りアクセス許可がない場合、Windowsエクスプローラーは前に説明したダイアログボックスを表示します。

  • ただし、UACが無効になっている場合、WindowsはUAC昇格プロンプトを介してユーザーに代わって管理者資格情報を要求することはできません。

  • したがって、Windowsは、ファイルシステムのアクセス許可を変更するために、管理者のアクセス許可でバックグラウンドプロセスを開始しません。

ただし、ユーザーが[続行]をクリックし、フォルダーの現在のセキュリティ記述子がユーザーにオブジェクトのアクセス許可の読み取りと変更の両方のアクセス許可を付与する場合、Windowsはユーザーの現在のセキュリティコンテキストでバックグラウンドプロセスを開始し、フォルダーのアクセス許可を変更してユーザーにアクセス権を付与します。前に説明したように。

ユーザーは、オブジェクトの所有権またはオブジェクトのアクセス制御リスト(ACL)から、オブジェクトのアクセス許可を読み取って変更するアクセス許可を持っている場合があります。

ソース Windowsエクスプローラーでフォルダーアクセスのために[続行]をクリックすると、ユーザーアカウントがフォルダーのACLに追加されます


管理者としてログインしています-管理者グループのメンバー

したがって、私はフォルダを完全に制御できるはずです。 Windowsが、現在アクセス許可がないと言うのはなぜですか?

Adminという名前のアカウントはnot組み込みのAdministratorアカウント(Administratorという名前)です)。

組み込みの管理者アカウントは特権の昇格を必要としませんが、作成して管理者グループに入れるユーザーは必要です(UACが無効にされていない場合)。

作成されたアカウント(たとえば、Admin)を使用して管理者権限が必要なことを実行し、管理者グループに配置する場合は、次のいずれかを行う必要があります。

  • 要求されたときに特権の昇格を確認する、または

  • アプリケーションを右クリックしてオプションを選択し、管理者として実行します。


管理者は管理者ではありません

ユーザーがファイルの所有者を「管理者」に設定しようとしていました。管理者としてログオンしていても、ユーザーはこれを行うことができませんでした。管理者がファイルの所有者を管理者に変更できないのはなぜですか?管理者にはファイルの所有権を取得する権限がありませんか?

.。

では、管理者と管理者の違いを知っていますか?

管理者はアカウントです。

  • 管理者に権限または特権が付与されている場合、それは、管理者アカウント、つまり名前がデフォルトで管理者(英語)であるアカウントでログインしているユーザーのみが実行できます。

一方、管理者はグループです。

  • マシンのAdministratorsグループのメンバーである場合は、そのマシンの管理者権限が付与されています。

  • 「私はこのマシンの管理者です」などと言うときに参照されるのは、Administratorsグループのメンバーシップです。

  • 定冠詞( "the")ではなく不定冠詞( "an")を使用すると、ユーザーが多くの管理者の1人にすぎないことがわかります。

「私は管理者として実行しています」などと言われると、状況はよりあいまいになります。これは、管理者アカウントとして実行されているか、Administratorsグループのメンバーであるアカウントで実行されていることを意味している可能性があります。

この違いを理解すると、前述のユーザーがファイルの所有権を再割り当てできなかった理由が明らかになります。

  • ユーザーは、Administratorsグループに属するアカウントでログオンしましたが、Administratorアカウント自体ではログオンしていませんでした。

  • ユーザーのアカウントを「ボブ」と呼びましょう。 SeTakeOwnershipPrivilege特権は、Administratorsグループのメンバーに割り当てられ、このグループのメンバーが自分自身に所有権を割り当てることができるようにします。ただし、この特権では、メンバーが他の誰かに所有権を割り当てることはできません。

  • この例では、ボブはファイルの所有権をボブに割り当てることができます。しかし、彼は誤って管理者に所有権を割り当てようとしており、ボブは管理者と同じではないため、操作は失敗します。

ユーザーは管理者アカウントでログオンし、そこからファイルの所有権を取得する必要があります。この場合、管理者は自分自身に所有権を割り当てています。 (または、ボブは所有者を設定する前にSeRestorePrivilegeを有効にすることもできます。

  • ただし、SeRestorePrivilegeはバックアップ復元プログラムで使用することを目的としているため、この方法はやや非正統的です。)

ソース 管理者は管理者ではありません


参考文献

3
DavidPostill

これは経験を通しての私の理解です:

Administratorsは特権グループです。

Administratorsメンバーとしてログインすると、一部のアプリケーションは昇格された**Administrator**レベルで実行されません。 ExplorerやiexploreなどのアプリケーションはUsers権限レベルで実行されているため、唯一の権利がAdministratorsのメンバーであるフォルダーにアクセスする場合は、ジャンプする必要があります。追加のフープを介して、フォルダー構造へのアクセスを昇格させます。

適切な例は、Administratorsメンバーとしての唯一の権利であるユーザープロファイルフォルダーのサイズを取得しようとした場合、まだその権利を取得していないため、フォルダーの内容のサイズを取得できないことです。 ExplorerUsers権限レベルで実行されているため、最初にフォルダを開いて標高フープをジャンプし、その権限を最初に取得する必要があります。ファイルのアクセス許可を表示しているときに同じことが表示され、表示されない場合があります。ウィンドウのアクセス許可レベルを上げて表示できるようにするためにクリックするボタンが表示される場合があります。

Explorer**Administrator**として実行すると、その標高フープをジャンプする必要がなくなったと思います(現時点で実際に機能するかどうかは思い出せませんが、しばらく経ちました)。

これがお役に立てば幸いです。

0
naps1saps