2009-05-12 8 views
3

私は、通常のユーザーが実行できる必要があるが、実際に機能するには管理者特権が必要なアプリケーションを持っています。VistaのUACをアプリケーションごとに無効にするか、プロンプトを表示せずに特権を昇格させますか?

ユーザーが「管理者として実行」で実行するショートカットを作成しようとしましたが、アプリを実行しようとするたびにUACプロンプトが表示されます。

ユーザーがUACプロンプトを実行したり、管理者パスワードを知っている必要がなくても、プログラムで特権を昇格する方法はありますか?セキュリティの観点からは、ほとんどのアプリケーションでこれを許可してはいけないということを理解しています。有効なユーザー名とパスワードのペアを提供できる場合は、何らかの方法があると思います。

アプリはC#で書かれているので、完全に管理されたソリューションは、好ましいであろうが、P /呼び出しブラックマジック(あるいは我々がを話さないMC++ラッパーを書いては)より許容可能ですUACを完全に無効にするよりも。

+1

わかりません。アプリがこれを行うことができる場合、マルウェアを含むアプリが同じことをするのを防ぐにはどうすればよいですか?その点を打ち負かすのではないでしょうか? –

+0

Greg D:そういうわけで私はユーザ名とパスワードのペアについて言及しました。私は、UACを有効にしたままにしているほとんどの管理者が、必要ないものにそれらを提供しないだろうと推測しています。 –

+0

管理者としてログインしているときに、UACはパスワードの入力を要求しません。あなたの承認を求めるだけです。 – Tomalak

答えて

8

一般的にこの問題は、SYSTEMまたは管理者アカウントとして実行されるWindowsサービスをインストールすることで解決します。次に、アプリケーションはこのサービスから特権アクションを要求できます。

明らかにセキュリティ上の脅威にならないようにするには、サービスが任意のコードを実行できないようにするか、すべてのユーザーが権限エスカレーション攻撃を受ける可能性があります。

Winpcapと他のスニッフィングアプリケーションのほとんどは、同様の設計を使用して、特権のないユーザーにスニッフィングアクセスを提供します。

0

これはできません。 UACプロンプトを非表示にすることはできません。

あなたは自問する必要があり:

のWindows XP上で起こるのでしょうか?

ユーザーは、Windows XPに標準ユーザーであり、アプリケーションは、管理者として実行するを「必要」。あなたは:

  • 実行を拒否しますか?
  • 起動時にクラッシュする可能性がありますか?
  • ユーザーアクセスの拒否エラーメッセージが表示されますか?

ユーザーは単にのWindows XPに標準ユーザーとしてアプリケーションを実行するために許可されていない場合は、UACはあなたの友達です:それは、彼らが管理者である必要はありユーザーに指示します。

さらに、(一時的に)の管理者特権を得ることもできます。

しかし、あなたは自問する必要があり:

Windows Vistaで何が起こるのでしょうか?高めるために

、ユーザーがオーバー3つの建物から歩いてITの誰かが必要となりますので、彼らは「肩の上に」自分の資格情報を入力することができます。おそらく、ユーザーの生活を楽にすることができます。 99.9%のアプリケーションを実行し、その0.01%を「管理」モジュールに分割します。

+0

UACはVistaで初めてリリースされました。 XPは、ログインしているユーザーのコンテキストですべての実行可能ファイルを実行します。 –

+0

@JonathanGrayこれで、開発者はUACを無視できます。アプリケーションに管理者権限が必要な場合は、Windows XPで障害が発生します。これで、Vista、7,8,9.1、および10の下でも、同じようにうまく機能しなくなります。 –

+0

ほとんどの人は、自分のユーザーアカウントを管理者として実行します。 XPでは、これは実行中のすべてのアプリケーションに管理者権限があることを意味していました。 Vista 7および8のアプリケーションでは、特に管理者権限を要求する必要があります。そうでなければ、彼らは真の管理者として実行されるように昇格されず、ユーザーアカウントの外部に何らかの影響を及ぼすようなものを読み書きすることが制限されています(例外はあります)。 –

1

実際、昇格された権限でアプリを実行するタスクスケジュールを作成するだけではどうですか?標高の下でタスクをセットアップしている限り、リブート中に自動的に実行されたとき、またはトリガーが何であっても、UACを要求するプロンプトは表示されません。

マニフェストファイルにlevel = requireElevationを設定するだけで、管理者権限でタスクを設定したときにタスクスケジューラが管理者権限でアプリケーションを実行することはありません。

関連する問題