Так, це виконується з підвищеними привілеями.
Простий тест:
Ви можете перевірити це досить легко, відкривши один підвищений та один непідвищений командний рядок. Запустіть команду notepad.exe
в обох, і спробуйте зберегти в ньому порожній текстовий файл C:\Windows
. Один збереже, хтось викине помилку дозволу.
Ретельний тест:
Якщо цього недостатньо, щоб підтвердити це для вас (це мене не дуже задовольнило), ви можете скористатися AccessChk від SysInternals. Вам потрібно буде запустити це з піднятого командного рядка.
Почнемо з перевірки двох запущених процесів Блокнота:
Блокнот: ( 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
Один працює під іменем мого домену, інший працює під вбудованою групою Адміністратори. Він також має високий обов'язковий рівень . Ви також можете запустити -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
chrome_installer.exe породжений MSI:
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, який мені був у нагоді:
Підвищений msiexec.exe запуск установки Evernote:
[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 на системному рівні. Вбивство високого обов'язкового рівня також призвело до вбивства на системному рівні.
Непідвищений msiexec.exe запуск інсталятора Evernote:
[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. Ваш пробіг може відрізнятися, і я не здивуюсь, коли побачу багато випадків, коли ці правила здаються "порушеними".