Отключение от терминала без ввода пароля?

У меня есть настольная версия Ubuntu.

Мне нравится Терминал, поэтому я предпочитаю выключать компьютер с помощью команды shutdown.

Однако, когда я набираю shutdown now, он запрашивает у меня пароль. Можно ли каким-либо образом выключить компьютер с помощью этой команды без ввода пароля?

56
задан 27 July 2012 в 19:28

6 ответов

Безопасный способ сделать это без использования 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 Install consolekit , конечно, должен быть установлен в вашей системе.

Другие команды, которые могут вам понравиться:

Приостановить:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Гибернация: (если включено в вашей системе)

/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, вы можете включить это, проверив этот ответ: https://askubuntu.com/a/617254/101985

Исходный источник: https : //bbs.archlinux.org/viewtopic.php? id = 127962

38
ответ дан 27 July 2012 в 19:28

Хотя вы можете использовать метод разрешения NOPASSWD на / usr / sbin / shutdown , хотя другой, DE- Независимое решение - просто использовать init 0 .

1
ответ дан 27 July 2012 в 19:28

это легко. используя параметр -S, например:

echo <your-password> | sudo -S poweroff
0
ответ дан 27 July 2012 в 19:28

unity использует многие службы gnome, и в этом случае вы также можете выключить gnome способом.

gnome-session-quit --power-off --force --no-prompt

выполнит свою работу.

3
ответ дан 27 July 2012 в 19:28

Откройте терминал (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 сейчас .

Откройте ~/.bash_aliases для редактирования.

nano ~/.bash_aliases

Вставьте следующую строку в конце файла:

alias shutdown='sudo shutdown now' 

Наконец, загрузите изменения в файл .bash_aliases...

source ~/.bash_aliases

Попробуйте!

shutdown

Спасибо, Эрик.

59
ответ дан 27 July 2012 в 19:28

В 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' .

0
ответ дан 5 January 2021 в 23:37

Другие вопросы по тегам:

Похожие вопросы: