Sudo-Benutzer auf Linux-Distributionen erstellen
Das Anlegen eines Sudo-Benutzers ermöglicht es einem Nicht-Root-Nutzer, administrative Aufgaben mit erweiterten Rechten durchzuführen. Anstatt sich direkt als Root anzumelden, authentifiziert sich der Benutzer mit seinem eigenen Passwort, während das System jeden ausgeführten Befehl protokolliert. Dies erhöht die Sicherheit, da direkter Root-Zugriff eingeschränkt wird und eine bessere Nachvollziehbarkeit gewährleistet ist. Die meisten Linux-Distributionen folgen einem ähnlichen Prozess, um Sudo-Benutzer hinzuzufügen, wobei es lediglich kleine Unterschiede bei Gruppennamen oder Paketvorgaben gibt.
Diese Anleitung zeigt, wie man einen Sudo-Benutzer auf den wichtigsten Linux-Distributionen anlegt, seine Rechte überprüft und optionale Sicherheitseinstellungen vornimmt, um das Verhalten von Sudo anzupassen.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie folgendes haben:
- Zugriff auf ein Linux-System als Nicht-Root-Sudo-Benutzer.
Sudo-Benutzer anlegen
In diesem Abschnitt wird ein neuer Benutzer erstellt und mit Sudo-Rechten ausgestattet. Die genauen Schritte unterscheiden sich je nach Distribution leicht, folgen jedoch demselben Grundprinzip. Wählen Sie den Abschnitt, der zu Ihrer Linux-Distribution passt.
Red-Hat-basierte Systeme
Unter Red-Hat-basierten Systemen erhalten Benutzer Sudo-Rechte, indem sie der Gruppe wheel hinzugefügt werden. Diese ist in der Sudoers-Konfiguration bereits vorgesehen. Die Verwendung von Gruppen zentralisiert die Vergabe von Rechten und erhöht die Sicherheit.
Neuen Benutzer anlegen
$ sudo useradd -m example_user
Die Option -m
sorgt dafür, dass ein Home-Verzeichnis unter /home/example_user
erstellt wird. Ersetzen Sie example_user
mit Ihrem gewünschten Benutzernamen.
Passwort für den Benutzer setzen
$ sudo passwd example_user
Geben Sie ein sicheres Passwort ein und bestätigen Sie es. Das verschlüsselte Passwort wird in /etc/shadow
gespeichert, das nur privilegierten Konten zugänglich ist.
Benutzer zur Wheel-Gruppe hinzufügen
$ sudo usermod -aG wheel example_user
Dieser Befehl fügt den Benutzer der Wheel-Gruppe hinzu und gewährt damit Sudo-Rechte. Die Option -a
fügt den Benutzer an, ohne bestehende Gruppenzugehörigkeiten zu überschreiben. -G
gibt den Gruppennamen an.
Sudoers-Datei mit visudo bearbeiten
$ sudo visudo
visudo
prüft die Syntax, bevor Änderungen gespeichert werden, um Konfigurationsfehler zu vermeiden. Suchen Sie nach folgender Zeile und stellen Sie sicher, dass sie nicht auskommentiert ist:
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
Diese Anweisung erlaubt allen Mitgliedern der Wheel-Gruppe die Ausführung beliebiger Befehle mit Sudo.
%wheel
: bezieht sich auf die Wheel-Gruppe.- Erstes
ALL
: gilt für alle Hosts. (ALL)
: Befehle dürfen als beliebiger Benutzer ausgeführt werden.- Letztes
ALL
: erlaubt die Ausführung aller Befehle.
Hinweis: Verwenden Sie stets visudo
, um die Sudoers-Datei zu bearbeiten. Normale Editoren können Syntaxfehler verursachen und Sudo unbrauchbar machen.
Zum neuen Benutzer wechseln
$ sudo su - example_user
Sudo-Rechte überprüfen
$ sudo whoami
Ausgabe:
root
Damit ist bestätigt, dass die Konfiguration erfolgreich war.
Debian-basierte Systeme (Ubuntu usw.)
Unter Debian und Ubuntu werden administrative Rechte über die Gruppe sudo anstelle der Wheel-Gruppe vergeben. Gehen Sie wie folgt vor:
Neuen Benutzer anlegen
$ sudo adduser example_user
Benutzer zur Sudo-Gruppe hinzufügen
$ sudo usermod -aG sudo example_user
Zum neuen Benutzer wechseln
$ sudo su - example_user
Rechte überprüfen
$ sudo whoami
Ausgabe:
root
Wenn die Ausgabe root
lautet, wurde der Benutzer erfolgreich mit Sudo-Rechten ausgestattet.
Arch Linux
Unter Arch Linux erfordert die Einrichtung von Sudo-Berechtigungen etwas mehr manuelle Schritte.
Neuen Benutzer anlegen
$ sudo useradd --create-home example_user
Passwort setzen
$ sudo passwd example_user
Benutzer zur Wheel-Gruppe hinzufügen
$ sudo usermod --append --groups wheel example_user
vi-Editor installieren
$ sudo pacman --sync vi
Sudoers-Datei bearbeiten
$ sudo visudo
Kommentieren Sie folgende Zeile ein:
%wheel ALL=(ALL) ALL
Zum neuen Benutzer wechseln
$ sudo su - example_user
Zugriff überprüfen
$ sudo whoami
Ausgabe:
root
Damit ist bestätigt, dass die Sudo-Rechte des neuen Benutzers korrekt funktionieren.
Sudo-Benutzerrechte in Linux testen
Nachdem ein Sudo-Benutzer eingerichtet wurde, sollten Sie prüfen, ob das Konto wirklich über administrative Berechtigungen verfügt. Die folgenden Schritte zeigen, wie Sie Sudo zuverlässig testen.
Grundlegende Befehle mit Sudo ausführen
Stellen Sie sicher, dass der Benutzer administrative Befehle ausführen kann.
Home-Verzeichnis von Root anzeigen
$ sudo ls -la /root
Dieser Befehl listet versteckte und reguläre Dateien im Verzeichnis /root
auf, das nur für Root oder Sudo-Benutzer zugänglich ist.
Paketlisten aktualisieren
Auf Debian-basierten Systemen (Ubuntu, Debian):
$ sudo apt update
Auf Red-Hat-basierten Systemen (RHEL, CentOS, Fedora):
$ sudo dnf makecache
Auf Arch Linux:
$ sudo pacman -Sy
Da diese Befehle Systemdateien verändern, erfordern sie Root-Rechte. Eine fehlerfreie Ausführung zeigt, dass Sudo korrekt funktioniert.
Zugriff auf geschützte Dateien prüfen
Überprüfen Sie, ob der Sudo-Benutzer auf sensible, nur für Root zugängliche Dateien zugreifen kann.
$ sudo cat /etc/shadow
Die Datei /etc/shadow
enthält verschlüsselte Passwörter der Benutzer. Wenn diese gelesen werden kann, bestätigt das funktionierende Sudo-Rechte.
Sudo-Logs prüfen
sudo
führt Protokolle über ausgeführte Befehle, was für Audits und Nachvollziehbarkeit entscheidend ist.
Auf Debian-basierten Systemen:
$ sudo grep sudo /var/log/auth.log
Auf Red-Hat-basierten Systemen:
$ sudo grep sudo /var/log/secure
Diese Logs dokumentieren, wer Sudo genutzt hat, wann und mit welchen Befehlen.
Passwortabfragen für Sudo-Benutzer verwalten
Sie können steuern, wie oft Sudo nach einem Passwort fragt, um Sicherheit und Komfort auszubalancieren.
Passwort-Timeout konfigurieren
Standardmäßig speichert Sudo Anmeldedaten für 15 Minuten. Dies lässt sich durch Bearbeiten der Sudoers-Datei anpassen:
$ sudo visudo
Fügen Sie folgende Zeile hinzu oder ändern Sie sie:
Defaults timestamp_timeout=30
Dieses Beispiel setzt das Timeout auf 30 Minuten. Gültige Werte sind:
0
: Passwort bei jedem Sudo-Befehl erforderlich.-1
: Keine Passwortabfrage während der Sitzung.- Positive Ganzzahlen (z. B. 5, 15, 30): Timeout in Minuten.
Passwortloses Sudo einrichten
Für Automatisierung oder kontrollierte Umgebungen können Sie Sudo-Befehle ohne Passwort erlauben.
$ sudo visudo
Für einen bestimmten Benutzer:
example_user ALL=(ALL) NOPASSWD: ALL
Oder für eine Gruppe:
%wheel ALL=(ALL) NOPASSWD: ALL
Warnung: Passwortloses Sudo reduziert die Sicherheit, da keine Authentifizierung abgefragt wird. Nutzen Sie es nur in vertrauenswürdigen, geschützten Umgebungen.
Befehle einschränken
Nach dem Prinzip der minimalen Rechte sollten Sie festlegen, welche Befehle ein Benutzer mit Sudo ausführen darf.
$ sudo visudo
Definieren Sie explizit erlaubte Befehle:
example_user ALL=(ALL) /usr/bin/apt update, /usr/bin/apt upgrade
Nutzen Sie absolute Pfade, da Sudo keine Befehle über $PATH
auflöst. Um den Pfad eines Befehls zu finden:
$ which mkdir
Ausgabe:
/usr/bin/mkdir
Befehlsalias erstellen
In Umgebungen mit mehreren Nutzern vereinfachen Aliase die Rechteverwaltung.
$ sudo visudo
Beispiel für Aliase:
# Command Aliases
Cmnd_Alias UPDATES = /usr/bin/apt update, /usr/bin/apt upgrade
Cmnd_Alias SERVICES = /usr/bin/systemctl restart apache2
# User Privileges
example_user ALL=(ALL) UPDATES, SERVICES
Mit Aliassen können Sie verwandte Befehle gruppieren, was die Verwaltung der Sudoers-Datei übersichtlicher und wartungsfreundlicher macht.
Fazit
Sie haben nun gelernt, wie man auf den wichtigsten Linux-Distributionen einen Sudo-Benutzer erstellt und konfiguriert. Sie haben dem Benutzer administrative Rechte zugewiesen, indem Sie ihn der passenden Gruppe (wheel oder sudo) hinzugefügt haben, und den Zugriff mit Testbefehlen bestätigt. Außerdem haben Sie Möglichkeiten kennengelernt, die Sicherheit zu erhöhen, indem Sie Befehle einschränken, passwortloses Sudo einrichten und Timeouts verwalten. Mit diesen Anpassungen ist Ihr System sicher und effizient mit Sudo ausgestattet.