56 votes

Arrêter à partir du terminal sans entrer le mot de passe ?

J'ai l'édition de bureau d'Ubuntu.

J'aime le Terminal de sorte que je préfère arrêter mon ordinateur avec le shutdown commandement.

Cependant, lorsque je tape shutdown now Y a-t-il un moyen d'arrêter mon ordinateur à l'aide de cette commande sans entrer mon mot de passe ?

69voto

SirCharlo Points 37508

Ouvrir un terminal (CTRL + T) et tapez ce qui suit sudo visudo

Ajoutez la ligne suivante :

%group_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

ou

user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

Cela permet à l'utilisateur/groupe d'exécuter les trois commandes ci-dessus, en utilisant sudo mais sans mot de passe.

Donc, sudo poweroff entraînera désormais un arrêt sans mot de passe.


Cependant, pour rendre cela encore plus propre, nous allons ajouter un alias, de sorte que l'exécution de la commande shutdown appelle sudo shutdown now .

Ouvrir ~/.bash_aliases pour l'édition.

nano ~/.bash_aliases

Insérez la ligne suivante à la fin du fichier :

alias shutdown='sudo shutdown now' 

Enfin, chargez les modifications dans le fichier .bash_aliases fichier...

source ~/.bash_aliases

Essayez-le !

shutdown

Merci, <a href="https://askubuntu.com/users/65926/eric-carvalho">Eric </a>.

38voto

jsj Points 422

Un moyen sûr de le faire sans utiliser sudo et sans bricoler le système, c'est en exécutant ces Une seule phrase des commandes :

Pour Ubuntu 15.04 et plus :

(Ceci est dû à l'évolution d'Ubuntu vers l'utilisation de systemd au lieu de Upstart )

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

systemctl hybrid-sleep

Depuis hibernation est normalement désactivé par défaut sur les systèmes Ubuntu, vous pouvez l'activer en cochant la case cette réponse . Source originale ici .

Pour Ubuntu 14.10 ou antérieur :

Fermeture :

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Redémarrage :

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

consolekit Install consolekit doit bien sûr être installé sur votre système.

D'autres commandes que vous pourriez aimer :

Suspendre :

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

Hibernation : (si elle est activée sur votre système)

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

3voto

Ohad Cohen Points 757

Unity utilise de nombreux services gnome, et dans ce cas aussi - vous pouvez fermer la voie gnome.

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

fera l'affaire.

1voto

Pendant que vous utiliser la méthode permettant NOPASSWD sur /usr/sbin/shutdown bien qu'une autre solution, indépendante de DE, consiste à utiliser simplement init 0 .

1voto

Marc Wouts Points 231

Sur Ubuntu 20.04 LTS, j'ai créé un fichier polkit avec

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

Avec ça, systemctl halt et systemctl suspend fonctionnent sans mot de passe. Cela fonctionne également à distance avec par exemple ssh 192.168.0.55 -t 'systemctl suspend' .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X