Il y a beaucoup de questions sur pourquoi shutdown
et reboot
nécessitent des privilèges root. Il y a beaucoup de bonnes réponses disponibles aussi.
Pourquoi avons-nous besoin d'être root dans le terminal pour pouvoir arrêter et redémarrer?
Pourquoi le redémarrage et l'extinction requièrent-ils des privilèges root?
Mais il y a quelque chose que je ne comprends pas : Si je peux redémarrer ou éteindre sans les privilèges root dans un multi-utilisateur le système est une très mauvaise idée ... alors pourquoi est-ce possible dans Ubuntu 16.04?
Quand je tape poweroff
ou reboot
dans un terminal et clique sur Enter, il ferme/redémarre!
Cela me convient quand poweroff
et reboot
ne nécessitent pas de privilèges root ... mais pourquoi suspend
a-t-il besoin de privilèges root? Quand je tape suspend
dans un terminal et clique sur Enter, il ne suspend pas, il reste bloqué ... et quand je lance pm-suspend
, il nécessite Sudo
.
Pour moi, les deux poweroff
ni reboot
ont besoin d'un mot de passe sur Ubuntu 16.04.
Cependant, pour que cela se produise, je devais créer un compte utilisateur appelé "foo", par exemple, puis ssh sur localhost en tant qu'utilisateur ou en tant que moi-même. Quand je fais cela, j'ai besoin de m'authentifier. Il semble reconnaître qu'un autre utilisateur est connecté.
Par exemple, je reçois ce message:
User foo is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.
Vraisemblablement, il est assez "intelligent" pour se rendre compte qu’un autre utilisateur est connecté.
(Je conviens avec vous qu'il serait agréable de toujours s'authentifier en tant qu'utilisateur root. Parfois, aucun autre utilisateur n'est connecté, mais un processus important s'exécute en arrière-plan et effectue une sorte de calcul.)
Edit: juste essayé moi-même. Si je suis connecté en tant que foo, je dois m'authentifier (membre du groupe Sudo). Si je redémarre comme moi-même avec foo toujours connecté, je dois taper systemctl reboot -i
sans mot de passe. Je présume que la différence est que le système sait que je fais partie du groupe Sudo.
Edition 2: Comme l’a noté Severus Tux, systemctl suspend -i
se comportait de la même manière que systemctl reboot -i
de la précédente édition.