はい、昇格した権限で実行されます。
簡単なテスト:
1つの昇格されたコマンドプロンプトと1つの昇格されていないコマンドプロンプトを開くと、これを非常に簡単にテストできます。notepad.exe
両方でコマンドを実行し、空のテキストファイルをに保存してみてくださいC:\Windows
。1つは保存し、1つは許可エラーをスローします。
完全なテスト:
それがあなたのためにそれを確認するのに十分でない場合(それは本当に私を満足させませんでした)、あなたはSysInternalsからAccessChkを使うことができます。これを管理者特権のコマンドプロンプトから実行する必要があります。
実行中の2つのメモ帳プロセスをチェックアウトすることから始めましょう。
メモ帳:(accesschk.exe -v -p notepad
)
[11140] notepad.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW DOMAIN\Tannerf
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[11004] notepad.exe
High Mandatory Level [No-Write-Up, No-Read-Up]
RW BUILTIN\Administrators
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
1つはドメインユーザー名で実行され、もう1つはAdministratorsビルトイングループで実行されています。また、高い必須レベルもあります。-f
フラグを使用して実行して、特権とトークンの内訳を確認することもできます。
MSIExecおよびMSIファイル
走ると物事が少し複雑になると思ったmsiexec
。テストに便利なGoogle Chromeスタンドアロンインストーラーがあります。
msiexec.exeは昇格したプロンプトからChromeインストーラーを起動します:
D:\Users\tannerf>accesschk.exe -p msiexec.exe
[10540] msiexec.exe
RW BUILTIN\Administrators
RW NT AUTHORITY\SYSTEM
MSIによって生成されたchrome_installer.exe:
D:\Users\tannerf>accesschk.exe -p chrome_installer.exe
[5552] chrome_installer.exe
NT AUTHORITY\SYSTEM
OWNER RIGHTS
RW NT SERVICE\msiserver
もうそんなに切ったり乾かしたりしません!chrome_installer.exe
プロセスがMSIServerサービスを介して実行されたように見えます。
これにより、他のインストーラーがどのような動作をするのか疑問に思うので、手元にあるEvernote.msiを実行しました。
Evernoteインストーラーを起動するmsiexec.exeの昇格:
[6916] msiexec.exe
High Mandatory Level [No-Write-Up, No-Read-Up]
RW BUILTIN\Administrators
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[4652] msiexec.exe
System Mandatory Level [No-Write-Up, No-Read-Up]
R BUILTIN\Administrators
PROCESS_QUERY_INFORMATION
PROCESS_QUERY_LIMITED_INFORMATION
面白い; 今回はシステムレベルで実行されるmsiexec.exeがあります。プロセスモニターを使用して、ポップアップする実際のインストールウィンドウがシステムレベルのmsiexecプロセスからのものであることを確認しました。高い必須レベルを強制終了すると、システムレベルのプロセスも強制終了します。
Evernoteインストーラーを起動する非昇格msiexec.exe:
[7472] msiexec.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW DOMAIN\Tannerf
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[4404] msiexec.exe
System Mandatory Level [No-Write-Up, No-Read-Up]
R BUILTIN\Administrators
PROCESS_QUERY_INFORMATION
PROCESS_QUERY_LIMITED_INFORMATION
Evernoteはどちらの方法でもシステムレベルのアクセスを取得するようです。インストーラーをダブルクリックしても同じ結果になります。
結論:
特に指定がない限り、プロセスがアクセス許可を継承することはかなり実証されていると思います。msiexec SomeProgram.msi
すべてのプロセスプロセスで高い必須レベルで実行されることを保証するものではありません。システムレベルまたはMSIServerの下で実行できます。あなたの走行距離は異なる場合があり、これらのルールが「壊れている」と思われる多くの事例を見ても驚かないでしょう。