Zum Inhalt springen

Sudo/Konfiguration: Unterschied zwischen den Versionen

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 162: Zeile 162:


=== Dokumentation ===
=== Dokumentation ===
; Man-Page  
; Man-Page  
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
# [https://manpages.debian.org/stable/sudo/sudoers.5.en.html sudoers(5)]
 
; Info-Pages


=== Links ===
=== Links ===

Version vom 4. November 2025, 14:04 Uhr

Sudo/Konfiguration - Beschreibung

Beschreibung

  • Hauptdatei: /etc/sudoers
  • Modulare Regeln werden als Drop-Ins bezeichnet und befinden sich standardmäßig unter: /etc/sudoers.d/
  • Es wird empfohlen, die Konfiguration nur über visudo zu bearbeiten, da dieses Programm die Syntax überprüft und irreversible Konfigurationsfehler verhindert.

Installation

Allgemeiner Grundsatz für die Konfiguration von sudoers
  1. Öffnen Sie die gewünschte Datei mit visudo (Haupt- oder Drop-in-Datei).
  2. Nehmen Sie Änderungen vor und speichern Sie die Datei.
  3. visudo überprüft die Syntax.
  4. Wenn die Überprüfung fehlschlägt, werden die Änderungen nicht übernommen und visudo gibt eine Fehlermeldung aus.
  5. Überprüfung: sudo -l. Führen Sie einen Testbefehl aus.
Konfiguration Öffnen

Sie können den Konfigurationseditor mit folgendem Befehl öffnen:

sudo visudo


Unter Debian erfolgt der Start mit nano, da dies standardmäßig in der Systemvariablen editor angegeben ist.

Sie können dies wie folgt überprüfen:

readlink -f /usr/bin/editor

Änderung des Standard-Editors:

sudo update-alternatives --config editor
Drop-Ins einschalten
  • Am Ende von /etc/sudoers steht normalerweise:
@includedir /etc/sudoers.d
  • Sie können auch eine separate Datei mit der Anweisung @include in die Konfiguration einfügen.
@include /usr/local/etc/sudoers.custom
Hinweis
In älteren Versionen von sudo (<1.9.1) begannen die Anweisungen mit dem Zeichen # statt mit @. Beide Formate werden jedoch unterstützt.


Bezeichnung der Drop-in-Dateien

Allgemein übliche Bezeichnung der Drop-in-Dateien:

  • NN-topic, wobei NN die Dateinummer ist. Die Reihenfolge der Lesbarkeit ist lexikografisch (alphabetisch, von 00 bis 99).
  • Beispiel:
/etc/sudoers.d/
├── 00-defaults
├── 10-groups
├── 50-nginx
└── 90-local
  • Die Dateien haben keine Erweiterung.
Regeln (User Specifications).

Jeder dieser Einträge beschreibt:

  • wer (USER)
  • auf welchen Hosts (HOSTS)
  • was ausführen darf (COMMANDS)
  • im Namen von wem (RUNAS)
  • mit welchen Modifikatoren (TAGS)
Schreiben von sudoers-Regeln

Allgemeiner Aufbau einer Zeile:

USER HOSTS = (RUNAS) [TAGS] COMMANDS
  • USER — Für dieses Feld kann einer der folgenden Werte angegeben werden:
  • Benutzer
  • Gruppe (GID-Gruppe)
  • Netgroup (NIS)
  • Alias
  • HOSTS – auf welchen Hosts die Regel gilt (Namen/Masken/IP, Aliase sind möglich).
  • (RUNAS) – in wessen Namen und/oder mit welcher Gruppe ausführen (Standardwert root).
  • Benutzer
  • Mehrere Benutzer: (postgres, mysql)
  • Gruppe (GID-Gruppe)
  • Alias
  • [TAGS] – Modifikatoren
  • NOPASSWD: – kein Passwort für die aufgeführten Befehle abfragen.
  • PASSWD: – Passwort für die aufgeführten Befehle abfragen.
  • SETENV: – Verwaltung der Umgebung zulassen.
  • NOEXEC: – Unterprozesse innerhalb des Befehls verbieten.
  • COMMANDS – Liste der vollständigen Pfade zu Befehlen (vorzugsweise ohne Wildcards), Aliase sind möglich.
Aliase


User_Alias WEBOPS = alice, bob
Runas_Alias DBUSERS = postgres, mysql
Host_Alias WEBSERVERS = www01, www02
Cmnd_Alias NGINX_CTL = /bin/systemctl start nginx, /bin/systemctl stop nginx, /bin/systemctl restart nginx, /bin/systemctl status nginx


Beispiel für eine vollständige Zeile:

WEBOPS WEBSERVERS = (root) NOPASSWD: NGINX_CTL

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch


Dokumentation

Man-Page
  1. sudoers(5)

Links

Projekt

Weblinks



TMP

Konfiguration

Nach der Installation muss jeder Benutzer, der SuperUser-Rechte erhalten soll, der Gruppe "sudo" hinzugefügt werden

usermod -G sudo -a BENUTZERNAME
Ausführen von sudo ohne Passwort
visudo

In der sudoers.d Datei in der letzten Zeile folgenden Befehl einfügen

'USER' ALL=(ALL) NOPASSWD:ALL
  • User ist der Name des Users, den das betreffen soll
Einzelne Befehle auszuschließen
  • in der Klammer die Befehle listen, die gewünscht sind, in diesem Fall sind das alle Befehle (ALL)

Dateien