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

OSCHINA-MIRROR/M2-Team-Privexec

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
ReadMe.md

Privexec

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

简体中文

Запуск программы с указанным уровнем разрешений

Установка

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

![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](docs/images/appexec.png)

## Использование 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](docs/images/wsudo-bridge-new-mintty.png)

### Окружение 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 )

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

Введение

Run the program with the specified permission level Развернуть Свернуть
C++ и 5 других языков
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
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