В следующем крупном обновлении в Windows 11 может появиться новая опция, которая наверняка заинтересует пользователей, часто имеющих дело с командной строкой или PowerShell. Речь идет о позаимствованной из Linux команде sudo, которая будет отвечать за повышение прав процессов, запускаемых из консоли. Но, возможно, им будет также интересно узнать, что подобный функционал в Windows реализовывался и раньше.
Примером чему является сторонняя консольная утилита gsudo.
В Windows gsudo работает примерно так же, как и sudo в Linux, повышая права процессов в текущем или новом окне консоли, хотя и отличия тоже имеются. Root в Linux имеет больше прав, чем администратор и gsudo в Windows, так что получить полный доступ ко всем уровням безопасности с помощью этой утилиты все же не получится.
Скачать инструмент можно со странички разработчика github.com/gerardog/gsudo.
Утилита gsudo поддерживает работу с классической командной строкой, PowerShell, WSL, UNIX-средой Cygwin, компилятором MinGW, MSYS2 и некоторыми другими оболочками Bash.
Установка в систему – с помощью Scoop, WinGet, Chocolatey, msi-установщика, рекомендуем последний способ как самый простой. Есть также портативная версия, но, если вы захотите ее использовать, скорее всего, вам нужно будет добавить каталог с исполняемыми файлами утилиты в системную переменную PATH.
Как работать с gsudo
Утилита gsudo работает в консоли, для повышения привилегий выполняемой в консоли команды перед ней нужно добавить gsudo с параметрами или без. Для повышения привилегий текущей оболочки также выполняется команд gsudo.
Вот некоторые наиболее типичные примеры использования команды:
gsudo – повышает привилегии открытого окна консоли. На повышение прав указывает значок решетки.
gsudo notepad – запускает с повышенными правами Блокнот. Вместо Блокнота может быть любая другая программа или сценарий.
gsudo cache on – запускает сеанс кэширования учетных данных. Если у вас включен UAC, это уменьшит количество его запросов при выполнении всех последующих команд.
gsudo status – отображает статус текущего пользователя, кэша и консоли.
gsudo -u | —user – запускает процесс от имени другого пользователя. Кстати, sudo в Windows 11 этого не умеет.
gsudo —ti – запускает процесс от имени учетной записи NT SERVICETrustedInstaller.
В данном примере хорошо видно, что запущенный с правами TrustedInstaller процесс Блокнота notepad.exe работает с правами пользователя СИСТЕМА.
И это далеко не все, что умеет и на что способна утилита gsudo.
Инструмент поддерживает столько же или даже больше аргументов и может использовать не только в Windows, но и в WSL.
Более подробные сведения о gsudo доступных параметрах можно получить на странице разработчика или странице спецификации gerardog.github.io/gsudo/docs/install.