DSIW

Alles was interessant ist... (Linux, Programmierung, Datenschutz, Medien, uvm.)

Root-Skripte ohne Passwort ausführen

| Comments

Normalerweise müssen Skripte, die sich im Ordner /sbin oder /usr/sbin befinden mit einem Passwort ausgeführt werden. Das lässt sich unterbinden. Sinnvoll ist die Angelegenheit, wenn man seinen Rechner herunterfahren, neustarten oder in den Stand-by bzw. Ruhezustand versetzen möchte. Denn nach einem Klick im Menü Ausschalten, muss man auch kein Passwort eingeben.

Zuerst muss überprüft werden, in welchen Gruppen man sich befindet. Dazu gibt man

1
id -a

ein. Normalerweise ist man Mitglied der Gruppe admin, auf das sich das Beispiel bezieht.

Ich möchte die Skripte /sbin/shutdown (Herunterfahren), /sbin/reboot (Neustarten), /usr/sbin/pm-suspend (Stand-by), /usr/sbin/pm-hibernate (Ruhezustand) ohne Passworteingabe ausführen können. Eine weitere Möglichkeit ist in diesem Artikel beschrieben. Leider funktionierten die dbus- oder pmi-Befehle nicht immer. Deshalb habe ich mich für diese Variante entschieden.

Zuerst öffnet man die Datei /etc/sudoers. Dabei ist es wichtig, dass man nicht einen normalen Editor benutzt, sondern sudo visudo eingibt. Das Programm überprüft die Syntax nach einer Veränderung, damit man sich nicht aus Versehen "ausgesperrt" hat. Nachdem man visudo aufgerufen hat, gibt man als letzen Eintrag

1
%admin ALL=NOPASSWD: /sbin/shutdown, /sbin/reboot, /usr/sbin/pm-suspend, /usr/sbin/pm-hibernate

ein. Dabei ist es wichtig, dass dieser Eintrag nach dem Eintrag

1
%admin ALL=(ALL) ALL

steht.

Danach kann man den Editor vim wieder mittels :wq schließen.

Nun sollte man noch überprüfen, ob es geklappt hat. Dazu gibt man

1
sudo -l

ein. Wenn es erfolgreich war, sollte nun in der Ausgabe

1
2
(root) NOPASSWD: /sbin/shutdown, (root) /sbin/reboot, (root) /usr/sbin/pm-suspend, (root)
    /usr/sbin/pm-hibernate

auftauchen.

Ich empfehle vor der Eingabe von pm-suspend oder ggf. auch pm-hibernate den Benutzer zu sperren. Das geschieht entweder mit

1
gnome-screensaver-command -l && sudo pm-suspend

oder mit

1
gnome-screensaver-command -l && sudo pm-hibernate

Wem es aufgefallen ist: Man muss weiterhin sudo vor die Befehle schreiben, aber eine Passworteingabeaufforderung bleibt fern.

Weitere Informationen:

Comments