Herunterfahren vs. Herunterfahren jetzt - System als Nicht-Root herunterfahren

Herunterfahren vs. Herunterfahren jetzt - System als Nicht-Root herunterfahren

Mir ist gerade etwas Seltsames aufgefallen.

Ich habe mich als nicht privilegierter Benutzer in ein Archlinux-System eingeloggt und ausgeführt shutdown. Wie erwartet wurde zurückgegebenMust be root.

Zu meiner Überraschung shutdown nowfunktioniert die Ausführung (anscheinend!)nichtÜberprüfen Sie, ob der aktuelle Benutzer über Root-Rechte verfügt. Dadurch wird die Maschine einfach heruntergefahren.

Ich habe versucht, dies sowohl in einem TTY als auch in einem Terminal im Plasma DE zu reproduzieren.

Bildschirmaufnahme des TTY


Ich verwende Archlinux mit einem 4.2.2-Kernel mit aktuellen Paketen.

Ich glaube nicht, dass das damit zusammenhängtGUI-Richtlinien.

tl;dr: System als Nicht-Root herunterfahren mitshutdown now

Antwort1

Das ist nicht wirklich meine Antwort, ich poste nur eine Antwort erneut, die aus unbekannten Gründen leider gelöscht wurde.

Quelle:http://web.archive.org/web/20151014220049/https://superuser.com/questions/985661/shutdown-vs-shutdown-now-shutting-down-system-as-non-root


Unter bestimmten Umständen können Sie Ihren PC unter Arch Linux problemlos ohne Root-Rechte herunterfahren/neu starten/in den Ruhezustand versetzen.

Die Arch Linux Wiki-Seite zur Energieverwaltung unter SystemdZustände:

polkit ist für die Energieverwaltung als nicht privilegierter Benutzer erforderlich. Wenn Sie sich in einer lokalen systemd-logind-Benutzersitzung befinden und keine andere Sitzung aktiv ist, funktionieren die folgenden Befehle ohne Root-Berechtigungen:

systemctl poweroff

systemctl Neustart

systemctl suspend

systemctl Ruhezustand

Um zu prüfen, ob Sie dazu berechtigt sind (dh, Sie haben Polkit installiert und Ihre Sitzung ist nicht unterbrochen), können Sie den folgenden Befehl verwenden:

$  loginctl show-session $XDG_SESSION_ID --property=Active
   Active=yes

Auf anderen systemdSystemen, wie meinem Debian 8, ist dies nicht möglich, obwohl ich auf diesen Befehl die gleiche Antwort erhalte:

$  loginctl show-session $XDG_SESSION_ID --property=Active
   Active=yes
$ systemctl reboot
 ==== AUTHENTICATING FOR org.freedesktop.login1.reboot ===
 Authentication is required for rebooting the system.
 Authenticating as: ,,, (myusername)
 Password: 

was darauf hinweist, dass polkitstandardmäßig auf unterschiedliche Weise unter Arch Linux und Debian eingerichtet wurde. Die Arch Linux-Leute sehen darin einen Vorteil gegenüber sudo, da sie indie Wiki-Seite zu Polkit:

Polkit wird zur Steuerung systemweiter Berechtigungen verwendet. Es bietet eine organisierte Möglichkeit für nicht privilegierte Prozesse, mit privilegierten zu kommunizieren. Im Gegensatz zu Systemen wie sudo erteilt es nicht einem gesamten Prozess Root-Berechtigungen, sondern ermöglicht eine feinere Kontrolle der zentralisierten Systemrichtlinie.

Wie immer: Ihre Abweichungen können abweichen.

Was betrifft shutdown now, vermute ich, dass es sich um eine Umleitung zu handelt systemctl poweroff, die einem nicht privilegierten Benutzer gestattet ist.

--https://superuser.com/users/255732/mariusmatutiae

verwandte Informationen