Я всегда работаю с учетной записью без прав администратора на моем компьютере с Windows. Иногда мне нужно установить программы, которые требуют доступа администратора. Поскольку я в основном использую командную строку Windows, существует ли команда Windows для повышения привилегий, аналогичная команде терминала Linux sudo
?
windows
command-line
privileges
ukanth
источник
источник
doskey sudo= runas /user:Administrator "cmd /k cd \"%cd%\" & $*"
wsudo
,sudo
-как инструмента для Windows , доступен в виде пакета шоколадного.Ответы:
Команда runas .
Просто беги:
запустить командную оболочку от имени администратора
источник
/noprofile
.Runas
просто запускает команды под другим набором учетных данных. Даже если ваши учетные данные имеют права администратора, это не означает, что все процессы под вашими учетными данными запускаются от имени администратора.Сегодня я обнаружил elevate, который «выполняет команду с повышением привилегий UAC. Это полезно для работы внутри командных строк или с пакетными файлами». Это не то же самое
sudo
, что изменяет исполняющего пользователя на Администратора, но его синтаксис намного проще в использованииrunas
, и он может сохранять текущий каталог, позволяя использовать относительные пути.Цель Elevate не в том, чтобы обойти или обойти UAC (контроль учетных записей), а в том, чтобы работать с ним. Пока UAC включен , в какой- то момент процесса должно быть какое-то приглашение . Если вам нужно полностью избавиться от подсказок, вы должны отключить UAC .
Болевая точка, которую облегчает облегчение, заключается в эскалации определенного процесса из непривилегированной оболочки, а затем в обычном режиме. Без этого вам нужно запустить привилегированную командную строку, щелкнув правой кнопкой мыши> «Запуск от имени администратора» , что не может быть легко написано в сценарии, перед попыткой привилегированной команды.
источник
%wheel ALL=(ALL) NOPASSWD: ALL
в sudo.@elevate %*
=> прибыль!Вы можете использовать команду runas, которая в некотором роде похожа, или вы можете проверить проект sudo для Windows в SourceForge, который добавляет команду sudo.
Разница тонкая:
Допустим, у вас есть два пользователя. Боб - обычный пользователь, а Джеймс - администратор.
Если вы вошли в систему как Bob и используете «runas james acommand», команда запускается так, как если бы она была запущена James, поэтому она получает доступ к пользовательским настройкам James, а любые пользовательские изменения переходят в папки « Мои документы и настройки» James и т. Д. устанавливаем приложение, скажем, оно будет установлено как Джеймс, а не как Боб.
Если, с другой стороны, Боб выполняет команду «sudo acommand», команда по-прежнему запускается как Bob, но с повышенными правами доступа - точно так же, как команда sudo в Linux. Чтобы любой пользователь не мог использовать sudo, вы должны определить группу пользователей sudoers, которая содержит список обычных пользователей, которые имеют разрешение на повышение уровня с помощью sudo. Пользователи все еще должны предоставить учетные данные до повышения прав.
Иногда разница не важна, иногда это так, и я считаю, что обе команды могут быть полезны.
источник
~/.themes
то приложение sudo-ed не сможет получить доступ к этой теме, потому что она не включена/home/root/.themes
, и будет использовать уродливую тему gtk по умолчанию.Вы также можете использовать Script Elevation PowerToys .
источник
Если вы готовы перейти на альтернативные приставки, есть ConEmu (я автор). Одна из его особенностей - возможность запуска как повышенных, так и не повышенных вкладок в одном окне ConEmu. Вкладки также могут быть запущены с разными учетными данными.
Для удобства пользователя существует пакетный файл csudo.cmd (который может быть легко адаптирован для bash). Прочитайте полное описание в вики проекта . Короче говоря, когда вы запускаете какую-либо команду из существующей не-повышенной вкладки, например
ConEmu запустится
dism
в новой консоли / вкладке с повышенными правами (с предыдущей подсказкой UAC в Vista или в окне входа в XP).По умолчанию
csudo
новая консоль запускается в режиме разделения (возможны изменения путем редактированияcsudo.cmd
содержимого).И, конечно, вы можете переименовать его,
sudo.cmd
если вам нравится «классическое»sudo
слово.источник
press enter or esc to exit
сообщение.sudo
команда выполнит свою работу! Вы идете не в ту сторону.Быстрый метод:
Три шага, чтобы добавить sudo.
Откройте PowerShell.
Скопируйте следующий скрипт (Ctrl + C) и вставьте его в PowerShell (Alt + Space + E + P):
Это будет постоянно включать
sudo
команду в PowerShell.Использование:
Примеры:
Длинный метод обучения:
Примечание: я смешал скрипт из обеих статей, чтобы создать вышеупомянутый скрипт. Вместо того, чтобы вручную вставлять скрипт в блокнот, я добавил
Out-File
операторы для сохраненияps1
и$profile
файлы из скрипта.Совет: Если вы не очень большой поклонник всплывающих окон UAC (таких как я), сохраните следующее в файле * .reg и запустите его:
источник
. : File C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on this system.
set-executionpolicy remotesigned
. Другие варианты, кроме тогоremotesigned
, описаны в официальных документах .powershell -c start -verb runas program.exe
функциональности. Также обратите внимание, что вы не можете поднять как это с приглашением cmd (изначально). Powershell - лучший родной вариант.Если вы делаете это в Windows, то в дополнение к команде «Запуск от имени», как упоминалось в нескольких других ответах, есть также способы сделать это с помощью мыши.
Если вы удерживаете Shiftклавишу, щелкая правой кнопкой мыши по большинству исполняемых файлов в Windows, вы должны заметить несколько более сложных параметров. Одним из них является параметр «
Run As...
» (я думаю, что он называется «Run As Administrator
» от Vista и далее).Вы также можете загрузить более продвинутую версию RunAs от Microsoft, которая называется ShellRunAs. В ней есть улучшения по сравнению со встроенной командой RunAs, как в командной строке, так и в графическом режиме, включая возможность сохранения учетных данных учетной записи.
источник
Для этого есть шоколадная упаковка с удобным названием sudo . Вы можете установить пакет с chocolatey с помощью этой команды:
Затем в любой оболочке Windows / MS, которую вы должны использовать, вы можете использовать
sudo
как положено.источник
Surun - это бесплатное приложение с открытым исходным кодом, которое позволяет некоторым программам запускаться с правами администратора, без предоставления пароля, без изменения реестра пользователей или изменения переменных среды.
Когда я использовал Windows XP, это приложение мне очень помогло. Бета работает под Windows 7.
источник
Как вы, вероятно, обнаружили, runas позволит вам работать от имени другого пользователя, но он не может выполнять повышение прав и не пропускает текущие каталоги, переменные среды или длинные командные строки.
Оболочка Hamilton C решает эту проблему с помощью настоящего su и sudo. su позволяет запустить команду от имени другого пользователя; sudo (фактически псевдоним su) позволяет запустить команду с повышенными правами. Вы также можете сделать оба, работая с повышенными правами как другой пользователь. Текущие каталоги, переменные окружения и длинные командные строки передаются посредством рукопожатия совместно используемой памяти между su, выполняющимся в контексте вызывающего, и его копией, выполняемой как интерлюдия с новыми учетными данными, которые затем запускают дочерний элемент. Полное раскрытие: я автор.
источник
Рабочей
sudo
заменойmintty
терминала Cygwin будет размещение следующего сценария в пользовательской переменной PATH:Для меня это единственная жизнеспособная замена для повышения привилегий таких программ, как
vim
илиcygrunsrv
при работе в терминале в Windows.источник
Этот скрипт выполняет свою работу:
Сохраните это как
sudo.cmd
затем добавьте это к своему ПУТИПримечание:
runas
в данном контексте означает «Запуск от имени администратора», а не «Запуск от имени другого пользователя».Взято отсюда и слегка отредактировано для удаления заголовка cscript.exe из вывода
источник
Самым простым решением, на мой взгляд, является использование PowerShell для выполнения работы, которая является переносимой и предложит пользователю использовать UAC.
Вы можете просто запустить это в любой оболочке (cmd или powershell)
источник
Следующий скрипт vbs помогает мне. Я надел это
C:\Windows\System32
Пример использования в командной строке
sudo net start service
источник