次の状況を考えてみましょう。
マシンに2つのインタラクティブなローカルユーザーアカウントが登録されているとします。Admin
(Administrators
グループのメンバー)とAlice
(Users
グループのメンバー)です。ハードドライブに、次のセキュリティ設定のフォルダ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"
私の最初の質問は:なぜですか?私はAdmin
(Administrators
グループのメンバー)としてログインしているため、フォルダーを完全に制御できるはずです。 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
というランダムなユーザーグループを作成したとしましょう。そして、通常のユーザーAlice
とBob
をUgly Ducklings
グループに追加しました。
次に、次の権限を持つフォルダーDucklingTest
を作成します
Owner : Alice
Permissions:
Ugly Ducklings : Full Control
これで、Bob
としてログインすると、DucklingTest
フォルダー(!)を完全に制御できるようになります。
どうして?
私のBob
は全能の管理者ですか?いいえ。私のBob
には何らかの特権がありますか?いいえ。Bob
にアクセスするには、なんらかの方法でDucklingTest
を「昇格」する必要がありますか?番号。
では、なぜBob
がDucklingTest
フォルダーを完全に制御できるのでしょうか。
簡単。 Bob
はUgly Ducklings
グループのメンバーであり、Ugly Ducklings
グループにはDucklingTest
に対するフルコントロールのアクセス許可が付与されているため、Bob
はDucklingTest
フォルダーをフルコントロールできます。話の終わり。
同じロジックがAdmin
とAdministrators
に適用されないのはなぜですか? Admin
はAdministrators
グループのメンバーであり、Administrators
グループにはTest
フォルダーに対するフルコントロールのアクセス許可が付与されています。ここに何が欠けていますか?この場合、Administrators
グループのメンバーにextra制限のように見えるものを課すことによって、Windowsがどのような種類の追加の「制御」を強制しようとしていますか?
以下に、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
はバックアップ復元プログラムで使用することを目的としているため、この方法はやや非正統的です。)
ソース 管理者は管理者ではありません
これは経験を通しての私の理解です:
Administrators
は特権グループです。
Administrators
メンバーとしてログインすると、一部のアプリケーションは昇格された**Administrator**
レベルで実行されません。 ExplorerやiexploreなどのアプリケーションはUsers
権限レベルで実行されているため、唯一の権利がAdministrators
のメンバーであるフォルダーにアクセスする場合は、ジャンプする必要があります。追加のフープを介して、フォルダー構造へのアクセスを昇格させます。
適切な例は、Administrators
メンバーとしての唯一の権利であるユーザープロファイルフォルダーのサイズを取得しようとした場合、まだその権利を取得していないため、フォルダーの内容のサイズを取得できないことです。 ExplorerはUsers
権限レベルで実行されているため、最初にフォルダを開いて標高フープをジャンプし、その権限を最初に取得する必要があります。ファイルのアクセス許可を表示しているときに同じことが表示され、表示されない場合があります。ウィンドウのアクセス許可レベルを上げて表示できるようにするためにクリックするボタンが表示される場合があります。
Explorerを**Administrator**
として実行すると、その標高フープをジャンプする必要がなくなったと思います(現時点で実際に機能するかどうかは思い出せませんが、しばらく経ちました)。
これがお役に立てば幸いです。