sammlung:sudo
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
sudo - Befehle mit Administratorrechten ausführen
Kurzfassung: Mit sudo können normale Benutzer Befehle mit Administratorrechten (root) ausführen, ohne das Root-Passwort zu kennen. Es ermöglicht granulare Rechtevergabe und protokolliert alle privilegierten Aktionen. Zentral für sicheres Multiuser-Management auf Linux-Systemen.
Übersicht
sudo (superuser do) ist das Standard-Tool für die Ausführung von Befehlen mit erhöhten Rechten. Es ersetzt in modernen Distributionen den direkten Root-Login und bietet bessere Sicherheit durch Audit-Trail und zeitlich begrenzte Privilegien.
Voraussetzungen
- Benutzer muss Mitglied der sudo-Gruppe sein
- Korrekte Konfiguration in
/etc/sudoers - Kenntnis des eigenen Benutzerpassworts (nicht Root-Passwort)
Anleitung
Schritt 1: Grundlegende Verwendung
# Einzelnen Befehl als root ausführen sudo befehl # Beispiele sudo apt update sudo systemctl restart nginx sudo nano /etc/hosts # Letzten Befehl mit sudo wiederholen sudo !!
Schritt 2: Root-Shell und Benutzer
# Interactive Root-Shell (empfohlen) sudo -i # Root-Shell mit aktuellem Verzeichnis sudo -s # Traditionelle Methode (nicht empfohlen) sudo su # Als anderer Benutzer ausführen sudo -u benutzername befehl sudo -u www-data ls -la /var/www
Schritt 3: Berechtigungen prüfen
# Erlaubte Befehle für aktuellen Benutzer anzeigen sudo -l # Detaillierte Übersicht sudo -ll # Für anderen Benutzer sudo -U username -l
Schritt 4: Konfiguration bearbeiten
# Sudoers-Datei sicher bearbeiten (empfohlen) sudo visudo # Editor für visudo ändern sudo update-alternatives --config editor # Spezifische Datei in sudoers.d bearbeiten sudo visudo -f /etc/sudoers.d/custom
Schritt 5: Zeitsteuerung
# Cached credentials invalidieren (Passwort wird erneut abgefragt) sudo -k # Credentials auffrischen ohne Befehl sudo -v # Background-Prozess mit sudo starten sudo bash -c 'befehl &'
Konfiguration /etc/sudoers
Benutzer und Gruppen berechtigen
# Benutzer alice darf alles alice ALL=(ALL:ALL) ALL # Gruppe sudo darf alles %sudo ALL=(ALL:ALL) ALL # Ohne Passwortabfrage bob ALL=(ALL) NOPASSWD: ALL # Nur bestimmte Befehle charlie ALL=(ALL) /usr/bin/systemctl, /usr/bin/apt # Spezifische Befehle ohne Passwort dave ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
Sicherheitsoptionen
# Timeout für cached credentials (Standard: 15 Minuten) Defaults timestamp_timeout=5 # Umgebungsvariablen bewahren Defaults env_keep += "http_proxy https_proxy" # Passwort-Feedback (Sternchen) Defaults pwfeedback # Lecture bei erstem sudo Defaults lecture=always
Konfigurationsdateien
/etc/sudoers # Hauptkonfiguration /etc/sudoers.d/ # Drop-in Konfigurationen /var/log/auth.log # Sudo-Logs (Debian/Ubuntu) /var/log/secure # Sudo-Logs (RHEL/CentOS)
Benutzer zur sudo-Gruppe hinzufügen
# Benutzer zur sudo-Gruppe hinzufügen sudo usermod -aG sudo username # RHEL/CentOS: wheel-Gruppe sudo usermod -aG wheel username # Prüfen groups username # Effektiv nach Re-Login
Hinweise
- Sicherheit: Niemals
/etc/sudoersdirekt editieren - immervisudoverwenden - Cache: sudo cached Credentials für 15 Minuten (Standard)
- Logs: Alle sudo-Aktionen werden geloggt in
/var/log/auth.log - NOPASSWD: Mit Vorsicht verwenden - Sicherheitsrisiko
- Gruppe: Auf Debian/Ubuntu
sudo-Gruppe, auf RHEL/CentOSwheel-Gruppe - Root-Login: Best Practice ist Root-Login zu deaktivieren, nur sudo nutzen
Siehe auch
Quellen
sammlung/sudo.1767698487.txt.gz · Zuletzt geändert: von Branislav Zeljak
