Il y a beaucoup de questions sur pourquoi shutdown
et reboot
nécessitent des privilèges root. Il existe également de nombreuses bonnes réponses.
Pourquoi devons-nous être root dans le terminal pour l'arrêt et le redémarrage?
Pourquoi le redémarrage et la mise hors tension nécessitent-ils des privilèges root?
- Comment le bouton d'alimentation arrête-t-il l'ordinateur sans autorisation root?
Mais il y a quelque chose que je ne comprends pas : si être capable de redémarrer ou d'arrêter sans les privilèges root dans un système multi - utilisateur est une très mauvaise idée ... alors pourquoi est-ce possible dans Ubuntu 16.04?
Lorsque je tape poweroff
ou reboot
dans un terminal et que je frappe Enter, cela s'arrête / redémarre en effet!
Cela me convient quand poweroff
et reboot
ne nécessite pas de privilèges root ... mais pourquoi a-t-il suspend
besoin de privilèges root? Lorsque je tape suspend
un terminal et que je tape Enter, il ne se suspend pas, il se bloque à la place ... et quand je cours pm-suspend
, il le faut sudo
.
Réponses:
Pour moi,
poweroff
ni l'reboot
un ni l'autre n'a besoin d'un mot de passe sur Ubuntu 16.04.Cependant, pour que cela se produise, j'ai dû créer un compte d'utilisateur appelé "foo", par exemple, puis ssh vers localhost en tant qu'utilisateur ou en tant que moi-même. Lorsque je fais cela, je dois m'authentifier. Il semble reconnaître qu'un autre utilisateur est connecté.
Par exemple, je reçois ce message:
Vraisemblablement, c'est assez "intelligent" pour se rendre compte quand il y a en fait un autre utilisateur connecté.
(Je suis d'accord avec vous qu'il serait bien de toujours s'authentifier en tant que 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: Je viens de m'essayer. Si je suis connecté en tant que foo, je dois m'authentifier (qui fait partie du groupe sudo). Si je redémarre en tant que moi-même avec foo toujours connecté, je dois taper
systemctl reboot -i
sans mot de passe. Je suppose que la différence est que le système sait que je fais partie du groupe sudo.Edit 2: Comme l'a noté Severus Tux,
systemctl suspend -i
se comportait de la même manière que lorssystemctl reboot -i
de l'édition précédente.la source