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

У меня есть настольная версия 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 Установить 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
Другие вопросы по тегам