GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Warum müssen wir zum Herunterfahren und Neustarten im Terminal root sein?

Wenn wir Pakete installieren/entfernen/aktualisieren oder Änderungen vornehmen, die Administratorrechte erfordern, werden wir nach dem Passwort des Admin-Benutzers gefragt, der über den sudo verfügt Privilegien – dies geschieht sowohl über die GUI als auch über das Terminal.

Wenn wir jedoch versuchen, über das Terminal herunterzufahren und neu zu starten, beschwert es sich, dass wir root sein müssen :

$ reboot
reboot: Need to be root

$ shutdown now
shutdown: Need to be root

Aber wir werden nie nach einem Passwort gefragt, wenn wir diese Aktionen über das Zahnrad oben rechts ausführen.

Warum gibt es diese Diskrepanz?

Beste Antwort

Das Herunterfahren am Zahnrad prüft, ob Sie die Maschine herunterfahren dürfen. Dies geschieht über PolicyKit. Im Falle des Herunterfahrens diese Anweisung in der Datei /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy ist geprüft:

<action id="org.freedesktop.consolekit.system.stop">
  <description>Stop the system</description>
  <message>System policy prevents stopping the system</message>
  <defaults>
    <allow_inactive>no</allow_inactive>
    <allow_active>yes</allow_active>
  </defaults>
</action>

Das PolicyKit löst einen dbus-send aus Befehl. Im Falle einer Abschaltung wäre es:

dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

Im Hintergrund läuft ein Daemon mit Root-Privilegien, der den Shutdown-Befehl für Sie aufruft.

Wenn Sie in der Lage sein möchten, den Computer „auf die alte Art“ über die Befehlszeile herunterzufahren (shutdown, reboot, halt, ... ), dann müssen Sie diesen Befehlen das suid-Bit hinzufügen. Aber seien Sie sich bewusst, dass jeder auf Ihrem System, der Zugriff auf die Shell hat, Ihren Computer herunterfahren könnte.


Ubuntu
  1. Installieren und verwenden Sie Guake – Ein Dropdown-Terminal-Emulator für Debian 10

  2. Reservierter Speicherplatz für Root auf einem Dateisystem – Warum?

  3. Tput:Kein Wert für $term und kein -t angegeben?

  4. Nur Root kann mounten, warum?

  5. 18.04:Warum sowohl Xorg als auch Xwayland?

Warum mich mein Bedürfnis nach Kontrolle dazu gebracht hat, zu Linux zu wechseln

Öffnen Sie das Terminal als root auf Ubuntu 20.04 Focal Fossa

13 Tipps zum Tunen und Optimieren von MySQL- und Mariadb-Datenbanken

Installieren und verwenden Sie Guake – Ein Dropdown-Terminal-Emulator für Ubuntu

Ubuntu – Vintage-Terminal für Ubuntu?

Gui-Tool zum Anzeigen und Verwalten der Druckwarteschlange?