Herunterfahren für Non-Root-Benutzer

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index


Inhaltsverzeichnis

[Bearbeiten] Herunterfahren als User einfach gemacht

[Bearbeiten] Grundkonfiguration

emerge app-admin/sudo

Das app-admin aus dem einfachen Grund, da es zwei Pakete namens sudo gibt.

Datei: /etc/sudoers

misterjack ALL=(ALL) NOPASSWD: /sbin/shutdown


misterjack ist durch den eigenen Benutzernamen zu ersetzen. Um diese Änderung vollziehen zu können müssen die Zugriffe der Datei angepasst werden, da diese nur Leserechte für den Besitzer und die Gruppe besitzt. Ein chmod 740 /etc/sudoers macht selbiges. Nach dem Bearbeiten sollte man darauf achten, dass die alten Zugriffsrechte wieder zurückgesetzt werden und zwar mit dem Befehl chmod 440 /etc/sudoers. Viel besser allerdings ist es, stattdessen das dafür vorgesehene Kommando visudo zu verwenden, denn das prüft auch gleich die Syntax.

Datei: ~/.bashrc

alias rb="sudo /sbin/shutdown -r now"
alias sd="sudo /sbin/shutdown -h now"

Als User kann man nun in der Konsole mit sd herunterfahren und mit rb neustarten

[Bearbeiten] Beispiel Konfiguration in Fluxbox

Datei: ~/.fluxbox/menu

[exec] (PC neustarten) {sudo /sbin/shutdown -r now}
[exec] (PC herunterfahren) {sudo /sbin/shutdown -h now}


[Bearbeiten] Beispiel mit Xdialog

Man kann das Ganze auch "schön" mit Xdialog machen. Erstmal Xdialog installieren: emerge -va xdialog

Dann dieses Skript nach /usr/bin/Xshutdown.sh schieben.

#!/bin/sh
# Send beer to Emil Beinroth <approx@gmx.net>

# Use as shutdown
SHUTDOWN=/sbin/shutdown
# Run commands (jump to first tty)
RC_SHUTDOWN="chvt 1;"
RC_REBOOT="chvt 1;"

case "$1" in
    shutdown)
        Xdialog --title Shutdown --center --yesno "Really shutdown the system?" 0 0 \
        && (eval ${RC_SHUTDOWN} exec ${SHUTDOWN} -h now)
    ;;
    reboot)
        Xdialog --title Reboot --center --yesno "Do you want to reboot the system?" 0 0 \
        && (eval ${RC_REBOOT} exec ${SHUTDOWN} -r now)
    ;;
    ask)
        CHOICE=$(Xdialog --title 'Choose!' --menubox 'Choose your destiny!' 0 0 3 \
            shutdown "Shutdown your system." \
            reboot " Reboot this system." 2>&1)
        [ -z "$CHOICE" ] && exit 1
        exec $0 $CHOICE
    ;;
    *)  
        echo 1>&2 "$0 (shutdown|reboot|ask)"
        exit 1
    ;;
esac

... und noch in /etc/sudoers eintragen:

Datei: /etc/sudoers

appro appro = NOPASSWD : /usr/bin/Xshutdown.sh


Jetzt noch im Menü deines Windowmanagers eintragen (hier das Bsp. Fluxbox):

Datei: ~/.fluxbox/menu

[exec] (Shutdown) {sudo /usr/bin/Xshutdown.sh ask}


Ein Bild, damit man sichs besser vorstellen kann:

Bild:Xshutdown.sh.png

'Persönliche Werkzeuge