Kategorien
Linux security

Linux: sudo ohne Passwort

In diesem Blogbeitrag beschreibe ich, wie sudo so konfiguriert werden kann das Du beim Aufruf kein Passwort eingeben musst.

Auf dem eigenen Laptop, Raspberry Pi oder Computer ist es verlockend mittels sudo -s als root zu arbeiten um nicht bei jedem aufruf eines Befehls der erhöhte Rechte benötigt das eigene Passwort eingeben zu müssen. Aus diesem Grund zeige ich in dieser einfachen Anleitung aufzuzeigen wie diese Verlockung abzuschwächt werden kann in dem das Passwort nicht immer oder wenigstens nicht bei jedem aufruf eines Befehls eingegeben werden muss.

Die Einstellungen zum Befehl sudo werden in der Datei /etc/sudoers hinterlegt. In dieser Datei kann festgelegt werden welche Benutzer sudo nutzen können, ob bei jedem Aufruf das eigene Passwort eingegeben werden muss und wie in dem Fall verfahren werden soll wenn wenn ein Benutzer ohne das recht zur nutzung versucht erhöhte Rechte zu erlangen.

Die Syntax der Konfiguration der Benutzerrechte erfolgt nach dem folgenden Schema:

user_list host_list=effective_user_list tag_list command_list

Die einzelnen Tele dieser Konfigurationszeile haben die folgenden Bedeutungen:

user_list – Liste der Benutzer oder einen Benutzer-Alisa der bereits zuvor angelegt wurde
host_list – eine Liste der Hostcomputer oder eine Host-Alias auf dem ein Benutzer sudo ausführen kann
effective_user_list – list of users they must be running as or a run as alias.
tag_list – Liste von Eigenschaften wie beispielsweise NOPASSWD.
command_list – Liste von Befehlen die mit sudo ausgeführt werden dürfen

Um einem Benutzer, in meinem Beispiel kuehnel, die Ausführung aller Befehle via sudo ohne die Eingabe eines Passworts zu erlauben öffne ich die “sudoers” Konfigurationsdatei.:

$ sudo vi /etc/sudoers

Und füge die folgende Zeile ein.:

kuehnel ALL=(ALL) NOPASSWD: ALL

Alternativ kann mit der folgenden Zeile einer Gruppe, in meinem Beispiel der Gruppe sudo, mit dem Prozentzeichen (%) der Zugriff auch ohne die eingabe des Passworts ermöglicht werden.

%sudo ALL=(ALL) NOPASSWD: ALL

Um meinem Benutzer kuehnel ausschließlich die Nutzung eines einzelnen Befehls zu ermöglichen kann die Zeile durch den entsprechenden Befehl ergänzt werden, wie im folgenden Beispiel mit dem Befehl kill.

kuehnel ALL=(ALL) NOPASSWD: /bin/kill

Die folgende Zeile ermöglicht allen Benutzern der Gruppe sys die nutzung des Befehls sudo zu der Ausführung der Befehle kill und rm ohne dafür das Passwort des Benutzers eingeben zu müssen.

%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm

Ich hoffe diese Beispiele reichen aus um eine Vorstellung von den Konfigurations-Optionen zu erhalten. Wenn Du Fragen zu einem Bestimmten Beispiel hast oder Fragen wie Du eine bestimmte Konfiguration erreichen kannst freue ich mich über Deinen Kommentar.

logfile

sudo gibt die Log-Informationen an syslog. Es kann nach wunsch aber auch ein eigenes Logfile schreiben.

Defaults        logfile="/var/log/sudo.log"

Die in der Logdatei gespeicherten Daten können den eigenen anforderungen angepasst werden, zum Beispiel so.:

Defaults        log_host, log_year, logfile="/var/log/sudo.log"

lecture

Hinweis bei der Nutzung von sudo anzeigen.

Es gibt 3 mögliche Konfigurationen:

always – bei jedem Aufruf dem Benutzer den Hinweisen zeigen
once – nur bei der ersten Nutzung den Hinweis anzeigen
never – dem Hinweis niemals anzeigen

Defaults        lecture="always"

Zusätzlich kann festgelegt werden in welcher Datei der Text für den Hinweis hinterlegt ist:

Defaults        lecture_file="/path/to/file"

timeout

Zeitspanne in Minuten nach der das Passwort erneut abgefragt werden soll.

Defaults        env_reset,timestamp_timeout=20

Von der_metzger

Hi, ich bin Jan Kuehnel - Fachinformatiker für Systemintegration ,Linux-Benutzer und Blogger. Seit 2019 arbeite ich als Systemadministrator bei einem beliebten deutschen Fahrradverleih und zuvor über 10 Jahren bei einem großen deutschen Provider. Ich folge seit meiner Kindheit dem Hobby, technische Rätsel zu lösen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.