Запуск программы с указанным уровнем разрешений
Установите Privexec с помощью baulk
baulk install wsudo
wsudo --version
Или вы можете скачать его напрямую, используя Exeplorer или 7z и другие инструменты для извлечения, а затем использовать Privexec. Ссылка для загрузки: https://github.com/M2Team/Privexec/releases/latest
Privexec и wsudo могут разрешать алиасы. Кроме того, wsudo добавляет или удаляет алиасы. Отличным выбором будет использование vscode для редактирования Privexec.json
для изменения алиасов. Когда Privexec установлен через baulk, каталог хранения Privexec.json
находится в $BAULK_ROOT/bin/etc
. Если Privexec был скачан и распакован напрямую, то Privexec.json
будет находиться в той же директории, что и Privexec.exe
.
{
"alias": [
{
"description": "Редактирование файлов hosts",
"name": "edit-hosts",
"target": "Notepad %windir%\\System32\\Drivers\\etc\\hosts"
},
{
"description": "Windows Debugger",
"name": "windbg",
"target": "\"%ProgramFiles(x86)%\\Windows Kits\\10\\Debuggers\\x64\\windbg.exe\""
}
]
}
```## Скриншоты

Алиасы:

AppContainer:

Использование wsudo:

Режим подробного вывода wsudo:

Выполнение AppContainer:

## Использование Privexec — это GUI-клиент. При запуске в качестве обычного пользователя вы можете запустить процесс администратора; при запуске в качестве администратора вы можете повысить привилегии до `System` или `TrustedInstaller`. Важно отметить, что `System` или `TrustedInstaller` имеют слишком много привилегий, что может легко повредить работу системы. Будьте осторожны при использовании. AppExec — это программа, запускающая процесс AppContainer. Некоторые разработчики используют эту программу для изучения деталей работы Windows AppContainer и уязвимостей AppContainer. Приложения UWP запускаются в контейнере AppContainer.
wsudo — это консольная версия Privexec/AppExec. Подробная справка представлена ниже:
**Использование wsudo:**
```txt
wsudo 😋 ♥ запускает программу с указанными разрешениями
использование: wsudo команду аргументы...
-v|--version выводит версию и завершает работу
-h|--help выводит справочную информацию и завершает работу
-u|--user запускает как пользователь (необязательно), поддерживает '-uX', '-u X', '--user=X', '--user X'
Поддерживаемые категории пользователей (игнорирует регистр):
AppContainer MIC NoElevated
Administrator System TrustedInstaller
``` -n|--new-console Запускает отдельное окно для запуска указанной программы или команды.
-H|--hide Скрывает окно дочернего процесса. не ждет. (CREATE_NO_WINDOW)
-w|--wait Запускает приложение и ждет его завершения.
-V|--verbose Делает операцию более разговорчивой
-x|--appx Путь к файлу AppManifest AppContainer
-c|--cwd Использует рабочую директорию для запуска процесса.
-e|--env Устанавливает переменную окружения.
-L|--lpac Режим AppContainer с меньшими привилегиями.
--disable-alias Отключает псевдоним Privexec, по умолчанию, если псевдоним Privexec существует, он используется.
--appname Устанавливает имя AppContainer
Выбор пользователя может использовать следующие флаги:
|-a AppContainer |-M Mandatory Integrity Control|-U No Elevated(UAC)|
|-A Administrator |-S System |-T TrustedInstaller|
Пример:
wsudo -A "%SYSTEMROOT%/System32/WindowsPowerShell/v1.0/powershell.exe" -NoProfile
wsudo -T cmd
wsudo -U -V --env CURL_SSL_BACKEND=schannel curl --verbose -I https://nghttp2.org
Встроенный командный псевдоним:
wsudo alias add ehs "notepad %SYSTEMROOT%/System32/drivers/etc/hosts" "Edit Hosts"
wsudo alias delete ehs
Когда Privexec, AppExec, wsudo запускают команды, строка команд и рабочая директория поддерживают раскрытие через `ExpandEnvironmentString`.
## Подробности wsudoВидимые и ожидающие параметры wsudo — это `--hide`, `--wait`, `--new-console`. Соответствующие ситуации представлены ниже:|Подсистема PE|`Отсутствуют значимые параметры`|`--new-console`|`--hide`|
|---|---|---|---|
|Windows CUI|ожидание/наследование консоли|нет ожидания/новая консоль|нет ожидания/нет консоли|
|Windows GUI|нет ожидания/новое окно UI|нет ожидания/новое окно UI|нет ожидания/нет окна|
|Windows CUI `-wait`|ожидание/наследование консоли|ожидание/новая консоль|ожидание/нет консоли|
|Windows GUI `-wait`|ожидание/новое окно UI|ожидание/новое окно UI|ожидание/нет окна|Когда wsudo запускает процесс администратора как стандартного пользователя, если он в данный момент работает в консоли, он поддерживает наследование окна консоли. Если он не работает в консоли, он может ничего не делать. Новый Cygwin в настоящее время поддерживает новые запуски консоли Windows 10 `ConPty`, который позволяет наследовать окно консоли, то есть терминал. Изображение ниже служит доказательством.
wsudo exec процесс администратора под mintty (включить ConPty):

### Окружение wsudo
wsudo поддерживает `-e/--env` для установки окружения. Например:
```batch
::curl должен поддерживать несколько SSL-бэкендов.
wsudo -U -V --env CURL_SSL_BACKEND=schannel curl --verbose -I https://nghttp2.org
Переменные окружения будут выведены согласно механизму Batch, то есть переменные окружения помечаются соответствующими %
.
# powershell
.\bin\wsudo.exe -n -e 'PATH=%PATH%;%TEMP%' -U cmd
::cmd
wsudo -e "PATH=%PATH%;%TEMP%" -n -U cmd
см.: changelog.md
Этот проект использует лицензию MIT, а JSON использует https://github.com/nlohmann/json, некоторые API используют NSudo, но переписаны.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )