Zum Inhalt springen

Root-Zugang

Administrative Aufgaben erfordern Root-Rechte. Es gibt zwei Wege, diese zu erlangen: su (dauerhafter Benutzerwechsel) und sudo (einmaliger Befehl mit erhöhten Rechten).

su (substitute user) wechselt in eine andere Benutzersitzung:

Terminal-Fenster
su # zu root wechseln (Passwort von root erforderlich)
su - # zu root wechseln mit root's Umgebung (Login-Shell)
su - anna # zu Benutzer anna wechseln
exit # zurück zur ursprünglichen Sitzung

Der Bindestrich - ist wichtig: Ohne ihn wird nur der Benutzer gewechselt, aber die Umgebungsvariablen (PATH, HOME usw.) bleiben die des alten Benutzers.

sudo führt einen einzelnen Befehl mit den Rechten eines anderen Benutzers (standardmäßig root) aus:

Terminal-Fenster
sudo reboot # System neu starten
sudo apt update # Paketliste aktualisieren
sudo systemctl restart nginx # Dienst neustarten
sudo -u www-data ls /var/www # als Benutzer www-data ausführen
sudo -i # interaktive Root-Shell öffnen

In den meisten Distributionen genügt das eigene Passwort — root muss nicht bekannt sein. Das sudo-Programm merkt sich die Authentifizierung für einige Minuten (standardmäßig 15 Minuten).

Die Berechtigungen für sudo werden in /etc/sudoers konfiguriert. Diese Datei niemals direkt bearbeiten — stattdessen immer visudo verwenden:

Terminal-Fenster
sudo visudo # Standard-Editor
EDITOR=nano sudo visudo # nano als Editor erzwingen

visudo speichert Änderungen zunächst in einer Kopie und prüft die Syntax, bevor die eigentliche Datei überschrieben wird. Ein Syntaxfehler in /etc/sudoers kann das System komplett sperren.

# Format: who where=(as_whom) what
root ALL=(ALL) ALL
anna ALL=(ALL) ALL # anna darf alles als root
%sudo ALL=(ALL) ALL # alle in Gruppe "sudo" dürfen alles
%wheel ALL=(ALL) NOPASSWD: ALL # ohne Passwort-Eingabe

Statt die sudoers-Datei direkt zu editieren, genügt es meist, einen Benutzer in die vorkonfigurierte sudo-Gruppe aufzunehmen:

Terminal-Fenster
# Debian/Ubuntu: Gruppe heißt "sudo"
usermod -aG sudo anna
# RHEL/Fedora/Arch: Gruppe heißt "wheel"
usermod -aG wheel anna