web-dev-qa-db-ja.com

UACはプログラムフォルダへの書き込みアクセスを防止していますか?

多くのクライアントサイトにレガシーアプリケーションがあります。場合によっては、クライアントはProgram Files(x86)フォルダーの下の1つまたは2つのフォルダーへの書き込みアクセス権を持っている必要があります。

時間が経つにつれて、ますます多くのクライアントがサーバーでUACを有効にしているため、単純な障害に直面しています。

通常のウィンドウ/共有セキュリティを適用できますが、それでも書き込みアクセス権はありません。実際、ローカル管理者として、私は昇格されたプログラムを介してのみその特権を持っています。

プログラムの場所を変更する(より大きなタスク)以外に、プログラムを変更するための開発作業が進行している間に、制限されたフォルダーへの書き込みアクセスを制限されたユーザーに提供できる方法はありますか?

VirtualStoreを無効にできることはわかっていますが、それを回避しようとしています。

3
Preet Sangha

プログラムを書き直すことはできません。 NTFS ACLに関係なく、保護領域(プログラムファイルを含む)への書き込みには昇格が必要です。

ここにリストがあります UACをトリガーするアクションの。

4
MDMarra

アプリケーションを実行しているアカウントがメンバーになっているグループに必要なアクセス権が付与されるように、フォルダーを構成してみてください。また、Administratorsグループではありません。デフォルトでは、Administratorグループのメンバーシップが無効になっているため、昇格が必要になります。

これはシステムフォルダに固有のものではありません。 Administratorsグループを介して必要なアクセス権を持つフォルダーにファイルをコピーするなどのアクティビティを試みる場合は、昇格が必要です。フォルダがどこにあるかは実際には問題ではありません。

もう1つの可能性は、フォルダーの整合性レベルです。中程度または低い整合性レベルで実行されているプロセスは、高い整合性レベルのフラグが立てられたフォルダーに書き込むことができません。 icacls.exeを使用して整合性レベルを表示し、ProcessExplorerを使用してプロセス/サービスの整合性レベルを表示できます。

C:\>icacls .
. BUILTIN\Administrators:(F)
  BUILTIN\Administrators:(OI)(CI)(IO)(F)
  NT AUTHORITY\SYSTEM:(F)
  NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
  BUILTIN\Users:(OI)(CI)(RX)
  NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M)
  NT AUTHORITY\Authenticated Users:(AD)
  Mandatory Label\High Mandatory Level:(OI)(NP)(IO)(NW)
1
Greg Askew