1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/M2-Team-Privexec

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ReadMe.zh-CN.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 23.04.2025 13:01 10b3bfc

Privexec

лицензия Статус ветки Master Общее количество загрузок последней версии Общее количество загрузок 996.icu

Запуск программы с использованием определенных пользовательских прав

Установка

Установите 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\""
        }
    ]
}
```## Скриншоты

![ui](docs/images/admin.png)

Алиасы:

![alias](docs/images/alias.png)

AppContainer:

![appcontainer](docs/images/appcontainer.png)

Справка по wsudo:

![wsudo](docs/images/wsudo.png)

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

![wsudo](docs/images/wsudo3.png)

Запуск AppContainer с помощью AppExec:

![appexec](docs/images/appexec.png)

## Помощь по использованию

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](docs/images/wsudo-bridge-new-mintty.png)

### Переменные окружения 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/M2-Team-Privexec.git
git@api.gitlife.ru:oschina-mirror/M2-Team-Privexec.git
oschina-mirror
M2-Team-Privexec
M2-Team-Privexec
master