web-dev-qa-db-ja.com

アカウントが管理者グループのメンバーである場合、管理者としてコマンドを実行する必要があるのはなぜですか?

アカウントがすでに管理者グループのメンバーである場合、Windows 7の一部の機能で管理者として実行する必要があるのはなぜですか?私はそれが暗示されていると思いましたか?

20
MikeJ

Windowsマシンに正常にログインすると、そのログインセッションを表すアクセストークンが生成されます。特に、このトークンには、ユーザー名とメンバーであるグループが含まれています。

そのセッション中に起動するすべてのプログラムには、このトークンへの参照があります。プログラムが何かを実行しようとすると、Windowsにアクセストークンが提示され、Windowsはそれを使用して、ユーザーがそのアクションの実行を許可されていることを確認します。

これに伴う問題は、管理者としてログインすると、起動するすべてのプログラムが管理者として実行されることです。これは便利ですが、メールリーダー、テキストエディター、およびダウンロードして実行するすべてのランダムプログラムには、必要に応じてシステムをホース接続する機能があることも意味します。

これは、ユーザーアカウント制御が解決するように設計されている問題です。

Windows Vista以降、管理者がログインすると、2つの個別のアクセストークンが割り当てられます:

  • 「管理者」を除くすべてのグループメンバーシップを含む1つの標準トークン
  • 「管理者」を含むすべてのグループメンバーシップを含む1つの昇格トークン

通常の使用では、標準のアクセストークンが使用されます。このトークンを使用してプログラムを起動すると、標準ユーザーと同じ権限が付与されます。管理者のみがアクセスできることを実行しようとすると、標準トークンに管理者のメンバーシップが含まれていないため、Windowsはアクセスを拒否します。

「管理者として」プログラムを起動すると、Windowsはプログラムに標準トークンではなく昇格トークンを提供します。これで、アプリが管理者に制限されているものにアクセスしようとすると、トークンにそのメンバーシップが含まれ、操作が成功します。

UACの目的は、プログラムが管理者権限を利用していることをユーザーに通知することです。通常、テキストエディタとメールリーダーは管理者として実行する必要はないため、これらのプログラムのUACダイアログが表示されるのは、警告または少なくともいくつかの精査の原因となるはずです。

Microsoftの ACの説明とそれに対処するためのいくつかのステップ も利用できます。

24

アイデアは 最小特権 を提供することです。

最小特権の原則は、データと機能をフォールト(フォールトトレランス)および悪意のある動作(コンピューターのセキュリティ)から保護するための重要な設計上の考慮事項として広く認識されています。
10
Justin Smith