Benutzerverwaltung auf dem Linux-Server
Schwierigkeitsgrad: Anfänger
Geschätzte Dauer: ca. 30 Minuten
Ziel: Die CLI-Werkzeuge zum Anlegen und Pflegen von Konten kennenlernen, den Standardzugriff auf Dienste konfigurieren und die Verfügbarkeit sicher aufrechterhalten.
Einführung
Die Benutzerverwaltung unter Linux ist eine Kernkompetenz für jeden Systemadministrator. Eine saubere Zugriffskontrolle sorgt für Stabilität, Sicherheit und Nachvollziehbarkeit auf dem Server. In dieser Anleitung behandeln wir die Grundlagen des Anlegens von Konten, der Vergabe von Rechten (einschließlich der Rechteausweitung unter Linux) und der sicheren Pflege der Standardkonfiguration von Diensten.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass die folgenden Bedingungen erfüllt sind:
- Betriebssystem: Ubuntu 22.04/24.04 LTS, Debian 12/13, AlmaLinux/Rocky Linux 8/9/10, RHEL 8/9/10
- Zugriff: sudo- oder root-Zugriff auf den Server per SSH
- System: Funktionierender Paketmanager
- Erforderliche Kenntnisse: sicherer Umgang mit der Linux-Befehlszeile
Grundlegende Konzepte verstehen
Bevor Sie Änderungen vornehmen, sollten Sie verstehen, wie Konten funktionieren:
- UID (User ID): Eine eindeutige numerische Kennung, die jedem Benutzer zugewiesen wird, um Eigentümerschaft und Berechtigungen nachzuverfolgen.
- GID (Group ID): Eine primäre numerische Kennung, die einen Benutzer einer bestimmten Gruppe zuordnet. Linux-Gruppen fassen mehrere Benutzer für gemeinsame Berechtigungen zusammen.
- Home-Verzeichnis: Das Standardverzeichnis (
/home/username), in dem die persönlichen Dateien und Konfigurationen eines Benutzers gespeichert werden. - Login-Shell: Der Befehlsinterpreter (z. B.
/bin/bash), der startet, wenn sich ein autorisierter Benutzer anmeldet. Ein autorisierter Benutzer ist ein Konto, das auf das System zugreifen darf. - Passwort: Eine geheime Zeichenfolge für die Benutzerauthentifizierung unter Linux. Authentifizierung ist der Vorgang, die Identität eines Benutzers zu überprüfen.
- Adduser: Ein interaktives Front-End-Skript zum Anlegen von Konten, hauptsächlich auf Debian/Ubuntu-Systemen.
- Useradd: Ein natives, systemnahes Binärprogramm zum Anlegen von Konten auf allen Linux-Distributionen.
- Kontosperre (Account Lock): Das Deaktivieren passwortbasierter Anmeldungen, um den Server abzusichern.
- Kontoablauf (Account Expiration): Das automatische Deaktivieren eines Kontos zu einem bestimmten Datum.
Schritt 1: Neuen Benutzer anlegen
Um einen neuen Benutzer anzulegen, verwenden Sie den Befehl adduser (unter Debian/Ubuntu) oder useradd (unter RHEL/AlmaLinux).
Ersetzen Sie johndoe in den folgenden Beispielen durch den gewünschten Benutzernamen. Führen Sie den folgenden Befehl aus, um einen Benutzer namens johndoe anzulegen:
sudo adduser johndoe
Sie werden aufgefordert, ein Passwort und optionale Benutzerangaben einzugeben.
Erwartete Ausgabe:
Die Ausgabe enthält Zeilen zum Anlegen der Gruppe, des Benutzers und des Home-Verzeichnisses sowie zum Kopieren von Dateien aus /etc/skel. Die genaue UID/GID hängt von Ihrem System ab.
Verwenden Sie unter RHEL/AlmaLinux sudo useradd -m johndoe (das Flag -m stellt sicher, dass /home/johndoe angelegt wird) und setzen Sie das Passwort manuell mit dem Befehl passwd: sudo passwd johndoe.
Schritt 2: sudo auf einem Linux-Server verstehen
Standardbenutzer können weder Systemkonfigurationen ändern noch Software installieren. Der Linux-Befehl sudo erlaubt berechtigten Benutzern, Befehle mit root-Rechten auszuführen.
2.1 Benutzer zur Gruppe sudo hinzufügen
Am einfachsten vergeben Sie Rechte, indem Sie den Benutzer mit dem Befehl usermod der vordefinierten Administratorgruppe hinzufügen.
Ubuntu/Debian:
sudo usermod -aG sudo johndoe
RHEL/AlmaLinux:
sudo usermod -aG wheel johndoe
Der Befehl usermod hängt (-a) den Benutzer an die zusätzliche Gruppe (-G) an. Der Benutzer johndoe kann nun administrative Aufgaben ausführen, indem er Befehlen sudo voranstellt. Bei Erfolg erzeugt der Befehl keine Ausgabe. Sie können das mit groups johndoe prüfen - die Gruppe sudo (bzw. wheel) sollte in der Liste erscheinen.
Schritt 3: Benutzereigenschaften ändern
Möglicherweise müssen Sie ein Konto sperren oder dessen Passwort ändern.
3.1 Passwort ändern
Um eine Passwortänderung zu erzwingen oder ein vergessenes Passwort zu ersetzen, führen Sie Folgendes mit dem Befehl passwd aus:
sudo passwd johndoe
Sie werden aufgefordert, das neue Passwort einzugeben und zu bestätigen. Anschließend kann sich der Benutzer mit den neuen Zugangsdaten anmelden.
3.2 Konto sperren
Verlässt ein Benutzer das Unternehmen, sollten Sie eine Kontosperre setzen, um den Server abzusichern:
sudo usermod -L johndoe
Das Konto wird sofort gesperrt, sodass keine neuen passwortbasierten Anmeldungen mehr möglich sind. Um das Konto später zu entsperren, verwenden Sie sudo usermod -U johndoe.
Beide Befehle erzeugen keine Ausgabe. Den Status können Sie mit passwd -S johndoe prüfen (Status L = gesperrt, P = aktiv).
3.3 Kontoablauf festlegen
Um ein Konto zu einem bestimmten Datum automatisch zu deaktivieren, legen Sie einen Kontoablauf fest:
sudo usermod -e 2026-12-31 johndoe
So verlieren externe Mitarbeiter auf Zeit automatisch den Zugriff.
Das Ablaufdatum können Sie mit sudo chage -l johndoe prüfen. Wegen der UTC-Grenzverarbeitung wird es unter Umständen einen Tag früher angezeigt - das ist normal, und das Konto läuft trotzdem korrekt ab.
Schritt 4: Den Linux-Befehl sudo sicher für die Serversicherheit einsetzen
Die sudoers-Datei (/etc/sudoers) legt genau fest, wer sudo verwenden darf und was dieser Benutzer ausführen darf.
Zum Bearbeiten der sudoers-Datei verwenden Sie stets visudo. Es prüft die Syntax vor dem Speichern und verhindert so Aussperrungen.
Als bewährte Vorgehensweise empfiehlt sich, für jede Regel eine eigene Datei anzulegen, statt die Hauptdatei zu bearbeiten:
sudo visudo -f /etc/sudoers.d/johndoe
Das vereinfacht das Zurücknehmen von Regeln und verringert das Risiko, die Haupt-sudoers-Konfiguration zu beschädigen.
Damit johndoe den Dienst zur Zeitsynchronisierung ohne Passwort neu starten kann, fügen Sie die passende Zeile für Ihr Betriebssystem hinzu:
Ubuntu/Debian:
johndoe ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart systemd-timesyncd
RHEL/AlmaLinux:
johndoe ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart chronyd
Speichern und beenden Sie die Datei. johndoe kann den Dienst nun ohne Passwortabfrage neu starten.
Der Benutzer johndoe muss den Befehl als sudo systemctl restart systemd-timesyncd (bzw. chronyd) ausführen - ausdrücklich über sudo. Ein direkter Aufruf zum Neustart des Dienstes ohne sudo liefert einen polkit-Fehler, der eine interaktive Authentifizierung verlangt.
Bearbeiten Sie sudoers-Dateien niemals direkt mit nano oder vim. Ein Syntaxfehler zerstört den sudo-Zugriff für das gesamte System und erfordert zur Behebung einen Start im Rettungsmodus.
Schritt 5: Benutzer löschen
Wird ein Konto nicht mehr benötigt, entfernen Sie es, um den Server sauber zu halten.
So löschen Sie den Benutzer, behalten aber seine Dateien:
sudo deluser johndoe
Unter RHEL/AlmaLinux: sudo userdel johndoe
Wird der Befehl ohne --remove-home (bzw. -r) ausgeführt, verbleiben /home/johndoe und die Dateien des Benutzers auf dem Datenträger. Das ist für die Archivierung von Daten nützlich, Sie müssen sich der verbleibenden Dateien aber bewusst sein.
So löschen Sie den Benutzer samt Home-Verzeichnis:
sudo deluser --remove-home johndoe
Unter RHEL/AlmaLinux: sudo userdel -r johndoe
Um die sudoers-Datei des Benutzers zu entfernen, falls eine angelegt wurde, führen Sie aus:
sudo rm -f /etc/sudoers.d/johndoe
Das Benutzerkonto ist nun vollständig aus dem System entfernt.
Stellen Sie vor dem Entfernen eines Benutzers sicher, dass keine Hintergrunddienste auf seine UID oder seine Linux-Gruppen angewiesen sind.
Überprüfung
Um den neuen Benutzer und seine Gruppenmitgliedschaften zu überprüfen, verwenden Sie den Befehl id:
id johndoe
Erwartete Ausgabe:
Die Ausgabe zeigt die UID, die GID (die von 1001 abweichen kann) und eine Liste der Gruppen. Prüfen Sie, ob die Gruppe sudo (Debian/Ubuntu) bzw. wheel (RHEL/AlmaLinux) enthalten ist. Unter Debian/Ubuntu kann zusätzlich die Gruppe users in der Liste erscheinen - das ist normal.
Um den sudo-Zugriff zu testen, wechseln Sie zum neuen Benutzer:
su - johndoe
Führen Sie anschließend einen Befehl aus, der Rechte erfordert:
sudo ls /root
Geben Sie auf Nachfrage das Passwort von johndoe ein (das in Schritt 1 festgelegte Passwort), nicht das root-Passwort. Sie sollten den Inhalt des Verzeichnisses /root sehen.
Fehlerbehebung
- Syntaxfehler in sudoers: Wenn Sie die sudoers-Datei versehentlich beschädigen, können Sie das oft beheben, indem Sie aus einer anderen Sitzung
pkexec visudoausführen. Istpkexecnicht verfügbar, müssen Sie den Server im Wiederherstellungs-/Einzelbenutzermodus starten, um die Datei zu bearbeiten. - Verlorener sudo-Zugriff: Wenn Sie den sudo-Zugriff verlieren, aber noch das root-Passwort kennen, melden Sie sich direkt als root an (z. B. mit
su -), um die Gruppenmitgliedschaften zu korrigieren. - Benutzerrechte prüfen: Um genau zu sehen, welche Befehle ein Benutzer ausführen darf, verwenden Sie
sudo -l -U johndoe.
Rollback
Wenn Sie die in dieser Anleitung vorgenommenen Änderungen rückgängig machen müssen:
- Entfernen Sie den Benutzer aus der Gruppe sudo:
sudo gpasswd -d johndoe sudo(bzw.wheel). - Machen Sie alle über
visudovorgenommenen Ergänzungen rückgängig. - Löschen Sie den Benutzer samt Home-Verzeichnis:
sudo deluser --remove-home johndoe(bzw.sudo userdel -r johndoe). - Entfernen Sie die zugehörige sudoers-Datei:
sudo rm -f /etc/sudoers.d/johndoe.
Fazit
Eine saubere Konfiguration der Konten stellt sicher, dass Sie Benutzer unter Linux sicher verwalten können, ohne die Systemsicherheit zu gefährden. Wenn Sie den Befehl adduser, den Befehl usermod und den Befehl passwd verstehen und zusätzlich sudo sicher konfigurieren, erhalten Sie eine stabile und nachvollziehbare Umgebung.
Dokumentversion: 1.0
Zuletzt aktualisiert: Mai 2026
Verantwortlich: Team für technische Dokumentation