web-dev-qa-db-ja.com

最小特権-パスワードなしで、特権アカウントから「標準」ユーザーとしてcmdを実行します

この質問は、最小特権で実行する方法です。これはnot(本当に)昇格された特権で実行することについてです。

まず、Windows7アカウントの特権の一般的な理解についていくつか明確にしておきます。

すべてのWindows7 OSには、少なくとも1人のユーザーと少なくとも1人の管理者ユーザーが必要です。

したがって、Windows 7の最初の(そして多くの場合のみ)アカウントは管理者ユーザーとしてポリフィルされますが、最初のアカウントが設定されると、手動で有効にできる「管理者」という名前の別のWindows7ユーザーがあります-このアカウントはたとえば、次のようなものの影響を受けない真の「管理者」 UAC。

UACは、(主に)プログラムがセキュリティで保護されたリソースにアクセスしようとしていることをユーザーに警告し、ユーザー名/パスワードを入力して手順を検証する機会をユーザーに提供するメカニズムです。これにより、ユーザーは自分の個人用デバイスで必要なすべてのものを自分で承認できるため、より優れたセキュリティオプションのセットが提供されますが、コンピューター上で何も実行されないだけではありません(もちろん許可されていない限り)。

さて、このユーザーがcmdプロンプトを実行しようとすると、ユーザーが特に実行しない限り、私は注意しました。

runas/user:myonlywindowsuser cmd

このcmdプロンプトは、(デフォルトの)ユーザーのプロファイルをロードしません。

私が上で言ったことを考えると、ユーザープロファイルがコマンドプロンプトで利用できないことはあまり意味がないようです。しかし、これが事実のようです。私の質問は次のとおりです。

  • ここに何か足りないものはありますか?これは実際に可能ですか?パスワードを使用せず、複数のアカウントを設定しない場合-ユーザーはすでに自分自身を認証しており、UACに照会する必要のないものへのアクセスのみを要求しているため、runasを現実的な答えとは見なしません。
  • 私が見逃しているWindows7の他のセキュリティアーキテクチャはありますか?実際にはこれを可能にしますが、まったく異なる方法ですか?

私はユーザーセキュリティスペースの概念に慣れていると言いますが、おそらくこの問題は、Windowsが最初にすべてのセキュリティを処理する方法が原因である可能性がありますか?

注:次の質問を認識しています: 管理者権限でアプリケーションを実行するコマンドですが、管理者としてではありません(UACでプロンプトを表示)

そして、私はその提案を試しましたが、限られた成功しか収めませんでした-シンボリックリンクの互換性タブが消えたようですので、単に右クリックして「管理者として実行」するよりも良い方法ではありません。これは、最も紛らわしいことに、まったく機能します。最後の質問として:

  • それはどのように意味がありますか?コンソールを上げると、より多くの非特権プロファイルにアクセスできますか?何?これは単なる永続的なバグですか?
2
smaudet

WindowsのUACが管理者アクセスを処理する方法について誤解があるかもしれません。

ユーザーアカウント、UserA、およびAdministratorアカウントがあります。これらは両方とも「特権」アカウントと見なされ、Administratorグループに属することで管理者権限を取得します。

UserAがプロセスを起動すると、プロセスを作成するための呼び出しは、そのプロセスを作成する必要があるかどうかを示すセキュリティトークンを受け取ります通常、またはそれを作成する必要があるかどうかelevated =。昇格されたプロセスにより、UACプロンプトが表示され、Administratorsグループの一部であるかのように動作します。昇格されていないプロセスは、ユーザーのすべての権限とアクセス許可を持っているかのように動作しますAdministratorsグループによって付与されたものを除く

プロセスを管理者モードで実行するようにマークした場合([互換性]タブを使用して、または Shift+Right-Click、その後、昇格モードでユーザー(UserA)として実行されます。

これはとは異なります

runas /User:Administrator

これは、ユーザーとしてではなく、完全に異なるユーザープロファイルであるAdministratorユーザーとしてプロセスを実行します。


現在特権アカウント(Administratorsグループに追加されたユーザーアカウント)を使用していると仮定します。

通常cmdを起動するとき(Windows+Rcmd、 Enter)、ユーザーアカウントで昇格されていないプロセスとして起動します。ユーザープロファイルが読み込まれている必要がありますが、Administratorsグループのメンバーではないかのように動作します。これがあなたが求めているものだと思いますが、完全にはわかりません。

ショートカット(シンボリックリンクではない)を作成して互換性オプションの下で[管理者として実行]を選択するか、Shiftキーを押しながら右クリックして[管理者として実行]を選択してcmdを起動すると、引き続き[管理者として実行]が生成されます。プロファイルを使用したユーザーアカウントですが、システムへのフルアクセスが可能な昇格モードです。

これを踏まえて、あなたが達成しようとしていることを正確に明確にできますか?コマンドプロンプトをクリックするだけで、デフォルトで最小特権で実行されます。

1
Darth Android