Запуск программы с использованием определенных пользовательских прав
Установите Privexec с помощью baulk
baulk install wsudo
wsudo --version
Конечно, вы можете прямо скачать архив, распаковать его с помощью 7z/WinRar/Проводника и запустить Privexec/AppExec/wsudo из любого каталога. Ссылка на скачивание: https://github.com/M2Team/Privexec/releases/latest
Privexec и wsudo могут распознавать алиасы. Для добавления или удаления алиасов используйте wsudo. Также можно редактировать файл Privexec.json
с помощью vscode. Когда 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 с помощью AppExec:

## Помощь по использованию
Privexec — это графический клиент, который позволяет запускать администраторские процессы при работе под стандартным пользователем. При работе под администратором можно повышать привилегии до `System` или `TrustedInstaller`. Важно отметить, что `System` или `TrustedInstaller` имеют слишком много привилегий, что может привести к нарушению работы системы, поэтому использование этих привилегий требует осторожности. AppExec — это программа для запуска процессов AppContainer, которую используют некоторые разработчики для изучения деталей работы Windows AppContainer и поиска уязвимостей. UWP-приложения запускаются в контейнерах AppContainer.
wsudo — это консольная версия Privexec/AppExec, подробная информация по использованию представлена ниже:```txt
wsudo 😋 ♥ запускает программу с указанными разрешениями
использование: wsudo command args...
-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Детали поведения поддерживаемых параметров `--hide`, `--wait`, `--new-console` представлены ниже:
|PE подсистема|Без параметров|`--new-console`|`--hide`|
|---|---|---|---|
|Windows CUI|Ожидание завершения/наследование консоли|Не ожидание завершения/открытие новой консоли|Не ожидание завершения/без консоли|
|Windows GUI|Не ожидание завершения/открытие графического окна|Не ожидание завершения/открытие графического окна|Не ожидание завершения/без окна|
|Windows CUI `-wait`|Ожидание завершения/наследование консоли|Ожидание завершения/открытие новой консоли|Ожидание завершения/без консоли|
|Windows GUI `-wait`|Ожидание завершения/открытие графического окна|Ожидание завершения/открытие графического окна|Ожидание завершения/без окна|
Wsudo в режиме повышения привилегий для запуска административных процессов под стандартным пользователем поддерживает наследование консольного окна, если текущий процесс запущен в консоли. Если же процесс не запущен в консоли, то wsudo не может наследовать консольное окно. Новые версии Cygwin поддерживают запуск консоли с использованием ConPty на более новых версиях Windows 10, что позволяет наследовать консольное окно, то есть терминал. Ниже приведено изображение, подтверждающее это.Скриншот запуска wsudo в режиме повышения привилегий в открытом ConPty окне Mintty (наследует консольное окно с помощью вспомогательного процесса wsudo-bridge):

### Переменные окружения WSUDO
wsudo поддерживает установку переменных окружения с помощью параметра `-e/--env`, например:
```batch
:: curl должен поддерживать несколько SSL backend'ов.
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, но использует некоторые другие открытые библиотеки, для которых следует ознакомиться с соответствующими заголовками лицензий и условиями. Например, здесь используется https://github.com/nlohmann/json, некоторые API были заимствованы у NSudo, но уже переработаны.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )