Archiv der Kategorie: Debian Squeeze

sudo und die NOPASSWD option in der /etc/sudoers.conf

Sudo und die NOPASSWD Option

Sudo ist ein Befehl unter Unix und Unixartigen Betriebssystemen wie auch Linux eines ist. Er wird genutzt um Prozesse mit den Rechten eines anderen Benutzers (ueblicherweise Root) zu starten ohne dessen Passwort kennen zu muessen. Mit Sudo lassen sich auch einzelne Befehle fuer die Nutzung mit Root Rechten (bzw Rechten anderer Nutzer) freigeben. Das dauerhafte Arbeiten mit einer anderen Identitaet (wie beim su Befehl) ist mit

su -s

oder

su -i

auch Moeglich.

Die Konfiguration ueber die /etc/sudoers.conf

Sudo wird ueber die Datei /etc/sudoers.conf konfiguriert. Achtung: Die Datei /etc/sudoers.conf sollte niemals direkt Editiert werden, der kleinste Rechtschreibfehler kann je nach Systemkonfiguration zur Unbenutzbarkeit des Rechners fuehren!! Sie sollte nur mit dem Kommando:
visudo
Bearbeitet werden. Dieses Startet standartmaessig den Editor nano um Aenderungen vorzunehmen. Nach dem Editieren ist es wichtig die sudoers.tmp zu speichern (STRG-o), nur dann wird die Syntaxueberpruefung durchgefuehrt und evtl Schreibfehler koennen Korrigiert werden. Mit STRG-x kann der Editor beendet werden.
Die Reihenfolge der Eintraege in /etc/sudoers.conf wird von oben nach unten Gelesen. Wenn sich zwei Eintraege wiedersprechen gewinnt immer der letzte (bzw unterste) Eintrag.

Beispielzeilen fuer die /etc/sudoers.conf


# Der Benutzer user1 darf nach Eingabe seines Benutzerpassworts alle Programme mit Rootrechten # starten
user1 ALL=(ALL) ALL

# Erstellt eine Benutzergruppe denen dann Rechte zugewiesen werden koennen.
User_Alias FU_USER=user1
# Weisst den Benutzern in der Gruppe FU_USER das Recht zu einige
# Progamme ohne Passworteingabe nutzen zu koennen.
FU_USER ALL=NOPASSWD: /sbin/reboot, /sbin/halt, /sbin/shutdown
# Diese Zeile Funktioniert NUR wenn danach bis zum Ende der Datei kein
# Eintrag mehr steht der # sich auf die gleichen Benutzer bezieht und 
# eine Passwort Eingabe verlangt. (Der jeweils letzte Eintrag ueberschreibt
# die vorhergehenden Eintraege wenn es um das gleiche Zielobjekt geht)
# Anstelle der Benutzergruppe kann auch ein einzelner Benutzername stehen.
# eine Unix Gruppe geht auch, die Schreibweise ist dann %Gruppenname
%Gruppenname ALL=NOPASSWD: /sbin/reboot, /sbin/halt, /sbin/shutdown



Links:


Passwd und NOPASSWD Option in Sudo


Sudo in Debian


Hinter diesem Link finden sich einige Details ueber die History des Programms. Die dort angegebenen Konfigurationsbeispiele haben bei mir teilweise nicht funktioniert.
http://de.wikipedia.org/wiki/Sudo

Eine komplette sudoers.conf als Beispiel

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
JoeUser      ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

#Die Mitglieder der Gruppe shutdown duerfen per sudo die Kommandos /sbin/reboot und  /sbin/halt Nutzen ohne
#ein Passwort eingeben zu muessen.
%shutdown ALL=NOPASSWD: /sbin/reboot, /sbin/halt