web-dev-qa-db-ja.com

非管理者がWindows 7で管理者としてプログラムを実行できるようにする

* nixでは、管理者はsetuidフラグを使用して、管理者権限を必要とする特定のプログラムを非管理者が実行できるようにすることができます。 Windows 7で同様のことをする方法はありますか?

この質問はここで尋ねられました Windows XPの場合、答えは一般的に満足のいくものではありませんでした。 Windows7がより良い方法を提供するかどうか疑問に思います。

私が考えることができる1つのアイデアは、UNIXアプリケーション用のMicrosoftのサブシステムを使用することですが、それを回避できるのであれば、すべてのユーザーのシステムにそれをインストールしたくありません。

私が考えることができる別のアイデア(XPでも機能しますが、どこにも言及されていません)は、service、これは、「安全な」アプリのホワイトリストを取得し、(コマンドライン、バッチファイル、またはスクリプトから)リスト上の任意のプログラムをLocalSystemまたは任意のアカウントとして実行するように要求できます。サービスが使用します。これは可能ですか?

それらほど不格好ではない解決策はありますか?または、誰かが上記の手法のいずれかを正常に実装しましたか?

4
Josh

調査することは実り多いかもしれませんなぜプログラムは管理者特権を必要とします。ファイルやレジストリのアクセス許可などが原因である場合は、アクセス許可を調整してユーザーにアクセスを許可することにより、管理者以外の資格情報でプログラムを動作させることができる場合があります。

7
Chris Thorpe

問題は「管理者権限をどのように付与するか」ではなく、アプリケーションを実行するためにユーザーに正しい権限を与える方法です。 Windowsでは、「管理者権限」とは、管理者がデフォルトで取得する権限の集まりを指します。これらの特権をすべて必要とするアプリケーションはほとんどありません。アプリケーションの特権の使用を監査し、それに応じてユーザーの権利を調整する必要があります(できればグループを作成して、そのグループに権利を割り当てることにより)。この概念は、 最小特権の原則 として知られています。

4
Jim B

http://www.technize.com/how-to-always-run-programs-as-administrator-in-windows-7/

  1. 管理者権限を付与するプログラムを右クリックします
  2. [プロパティ] –> [互換性]タブに移動します
  3. [互換性]タブの最後に、次のチェックボックスがあります。このプログラムを管理者として実行する
  4. チェックボックスをオンにして[OK]をクリックし、[OK]をクリックするだけです。
  5. これにより、そのプログラムの管理者権限が永久に付与されます。

すべてのユーザーにプログラムの管理者権限を付与する場合は、[互換性]タブに再度移動し、[すべてのユーザーの設定を変更]をクリックします。

[このプログラムを管理者として実行する]というチェックボックスをオンにします。

これで、プログラムはシステムのすべてのユーザーに対して管理モードで実行されます。

1
sameprob

RunAsGuiを調べます。これにより、ユーザーに使用を許可する特定のプログラムの管理者の暗号化された資格情報を保存できます。それは無料です。

1
Rich