shutdown - Anhalten des Systems
 

Für einen Neustart oder zum runterfahren des Systems, gibt es auf der Konsole den Befehl shutdown.

shutdown = fährt das System "sauber" herunter

Syntax= shutdown [option] time [warning message]

Optionen:
ganz ohne Optionen wie heruntergefahren werden soll, fährt shutdown in den Runlevel 1
-k fährt nicht wirklich herunter, sondern sendet nur eine
Warnungs-Mitteilung an alle
-r Reboot (Neustart) nach dem herunterfahren
-h (halt)=schaltet den Rechner ab
-f verhindert fsck bei einem Neustart
-F initiert fsck bei einem Neustart
-c (Cancel) unterbricht einen laufenden shutdown

Das time Argument kann verschiedene Formate haben:

  • ein Absolutes im Format hh:mm (Stunden und Minuten einer Uhrzeit)
  • im Format +m (m ist die Zahl an Minuten die shutdown wartet bis zum herunterfahren)
  • das Wort now. now ist ein Alias für +0.

Beispiele:
# shutdown +5 "System wird in den Runlevel 1 versetzt"
Fährt das System nach 5 Minuten herunter in den Runlevel 1 und schickt einen Mitteilungstext an alle anderen angemeldeten Benutzer an den Konsolen.
# shutdown -r now
Macht einen Reboot sofort ohne Mitteilungstext.
# shutdown -h now "Goodbye"
sendet die Mitteilung "Goodbye", fährt danach den PC sofort runter und schaltet ihn ab.

Shutdown als normaler User

Da Linux ein Multi-User System ist, also darauf ausgelegt, daß mehrere Benutzer an ein und demselben System arbeiten können, hat nur root die Rechte für den shutdown-Befehl. Sonst könnte ja jeder den PC herunterfahren und somit die Arbeit der Anderen beeinträchtigen. Was in großen Firmen sinnvoll ist, stört am heimischen Desktop-PC manchmal ganz gewaltig. Zum Beispiel wenn man auf der Konsole mittels ffmpeg einen Film umwandelt und möchte, daß der PC nach der stundenlangen Umwandlung von selbst herunter fährt. Um einem normalen User das Runterfahren zu erlauben, gibt es mehrere Möglichkeiten. Ich beschreibe hier lediglich 3:

  • Man setzt das SUID-Bit mittels
    # chmod +s /sbin/shutdown
    Mit Hilfe dieses Bits werden Programme mit root-Rechten ausgeführt, somit kann jeder den shutdown-Befehl ausführen.

  • Man legt die Datei /etc/shutdown.allow an und schreibt den Namen des Users in die Datei (pro Zeile ein Name, maximal 32). Dadurch kann ein normaler User mittels der Option -a den Rechner herunterfahren:
    # /sbin/shutdown -a -r now
    Leider hat diese Option unter Debian nicht funktioniert. Es scheint sich um einen Bug in shutdown zu handeln.

  • Man editiert die Datei /etc/sudoers mit dem Hilfswerkzeug visudo und trägt folgende Zeile ein:
    udo ALL=NOPASSWD: /sbin/shutdown
    nun kann der User udo ohne Paßwortangabe mittels
    # sudo shutdown -h now
    den Rechner runterfahren. (siehe das Kapitel "Grundlagen" und den Eintrag sudo)