Отключение от терминала без ввода пароля?
У меня есть настольная версия Ubuntu.
Мне нравится Терминал, так что я предпочитаю выключать компьютер с помощью shutdown
команда.
Однако, когда я печатаю shutdown now
он запрашивает у меня пароль. Можно ли каким-либо образом выключить компьютер с помощью этой команды, не вводя пароль?
5 ответов
Откройте терминал (CTRL + T) и введите следующее sudo visudo
Добавьте следующую строку:
%group_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown
или же
user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown
Это позволяет пользователю / группе запускать вышеупомянутые три команды, используя sudo, но без пароля.
Так, sudo poweroff
теперь приведет к отключению без пароля.
Однако, чтобы сделать это еще чище, мы добавим псевдоним, чтобы shutdown
звонки sudo shutdown now
,
открыто ~/.bash_aliases
для редактирования.
nano ~/.bash_aliases
Вставьте следующую строку в конец файла:
alias shutdown='sudo shutdown now'
Наконец, загрузите изменения в .bash_aliases
файл...
source ~/.bash_aliases
Попробуйте!
shutdown
Спасибо, Eric Carvalho.
Безопасный способ сделать это без использования sudo и без вмешательства в систему - это выполнить следующие однострочные команды:
Для Ubuntu 14.10 или более ранней версии:
Неисправность:
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Запустить снова:
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
ConsoleKit Конечно, должна быть установлена ваша система.
Другие команды, которые вам могут понравиться:
Приостановка:
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Hibernate: (если включен в вашей системе)
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
Для Ubuntu 15.04 и более поздних версий:
(Это связано со смещением Ubuntu в использовании systemd
вместо Upstart
)
systemctl poweroff
systemctl reboot
systemctl suspend
systemctl hibernate
systemctl hybrid-sleep
Поскольку hibernate обычно отключен по умолчанию в системах Ubuntu, вы можете включить его, проверив ответ: /questions/139529/kak-vklyuchit-gibernatsiyu-v-1504/139538#139538
Первоисточник: https://bbs.archlinux.org/viewtopic.php?id=127962
Unity использует множество сервисов GNOME, и в этом случае вы также можете отключить GNOME.
gnome-session-quit --power-off --force --no-prompt
сделаю работу.
Хотя вы можете использовать метод разрешения NOPASSWD
на /usr/sbin/shutdown
хотя другое, независимое от DE решение - просто использовать init 0
,
В Ubuntu 20.04 LTS я создал
polkit
файл с
echo "[Shutdown or suspend without a password]
Identity=unix-user:$USER
Action=org.freedesktop.login1.set-wall-message;org.freedesktop.login1.halt;org.freedesktop.login1.suspend
ResultAny=yes
" | sudo tee /etc/polkit-1/localauthority/50-local.d/allow_shutdown_suspend.pkla
С этим,
systemctl halt
а также
systemctl suspend
работать без пароля. Это также работает удаленно, например, с
ssh 192.168.0.55 -t 'systemctl suspend'
.
Это просто. используя опцию -S вот так:
echo <your-password> | sudo -S poweroff