Es gibt viele Fragen zum Warum shutdown
und reboot
zur Notwendigkeit von Root-Rechten. Es gibt auch viele gute Antworten.
Warum müssen wir zum Herunterfahren und Neustarten Root im Terminal sein?
Warum sind für den Neustart und das Ausschalten Root-Rechte erforderlich?
- Wie fährt der Computer mit dem Netzschalter ohne Root-Berechtigung herunter?
Aber es gibt etwas, das ich nicht verstehe: Wenn ein Neustart oder Herunterfahren ohne Root-Rechte in einemMehrbenutzerSystem ist einsehr schlechtIdee ... warum ist das dann in Ubuntu 16.04 möglich?
poweroff
Wenn ich oder reboot
in ein Terminal eingebe und drücke Enter, wird es tatsächlich heruntergefahren bzw. neu gestartet!
Für mich ist es ok, wenn poweroff
und reboot
keine Root-Rechte erfordern ... aber warum werden Root-Rechte benötigt? Wenn ich in ein Terminal suspend
tippe und drücke , wird es nicht angehalten, sondern bleibt hängen ... und wenn ich ausführe , erfordert es .suspend
Enterpm-suspend
sudo
Antwort1
Bei mir ist unter Ubuntu 16.04 weder ein Passwort noch eine Anmeldung erforderlich poweroff
.reboot
Damit dies jedoch möglich ist, musste ich beispielsweise ein Benutzerkonto mit dem Namen „foo“ erstellen und dann entweder als dieser Benutzer oder als ich selbst per SSH auf den lokalen Host zugreifen. Dabei muss ich mich authentifizieren. Es scheint zu erkennen, dass ein anderer Benutzer angemeldet ist.
Ich erhalte beispielsweise diese Meldung:
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'.
Vermutlich ist es „intelligent“ genug, um zu erkennen, wenn tatsächlich ein anderer Benutzer angemeldet ist.
(Ich stimme Ihnen zu, dass es schön wäre, sich immer als Root zu authentifizieren. Manchmal ist kein anderer Benutzer angemeldet, aber im Hintergrund läuft ein wichtiger Prozess, der irgendeine Berechnung durchführt.)
Bearbeiten: Habe es gerade selbst ausprobiert. Wenn ich als foo angemeldet bin, muss ich mich authentifizieren (wer ist in der Sudo-Gruppe). Wenn ich als ich selbst neu starte und foo noch angemeldet ist, muss ich systemctl reboot -i
ohne Passwort tippen. Ich nehme an, der Unterschied besteht darin, dass das System weiß, dass ich in der Sudo-Gruppe bin.
Bearbeitung 2: Wie von Severus Tux angemerkt, systemctl suspend -i
verhielt es sich ähnlich wie systemctl reboot -i
bei der vorherigen Bearbeitung.