User Management: useradd, usermod & userdel (Artikel 285)
Professionelle Benutzerverwaltung unter Linux. Erfahren Sie den Umgang mit den Core-Utilities zur Erstellung, Modifikation und Löschung von Benutzerkonten und Service-Accounts.
# User Management Mastery: Konten sicher verwalten
TL;DR / Management Summary Wer Linux-Systeme professionell verwaltet, muss den Unterschied zwischen interaktiven Benutzern und Service-Accounts kennen. Ein Senior Admin nutzt die Low-Level Tools useradd, usermod und userdel, um exakt zu steuern, welche Rechte ein User hat, wo sein Home-Verzeichnis liegt und ob er sich überhaupt einloggen darf. In diesem Modul lernen wir das Fundament des Identitäts-Managements auf jedem Linux-Server.
# 1. Einführung & Architektur
Die Identitäts-Dateien.
Benutzerdaten sind in Linux in drei Hauptdateien gespeichert:
/etc/passwd: Basis-Informationen (Username, UID, GID, Shell, Home)./etc/shadow: Verschlüsselte Passwörter und Ablaufdaten (Sicherheitskritisch!)./etc/group: Gruppen-Zugehörigkeiten.
graph LR
A[Admin Command] --> B[useradd / usermod]
B --> C[/etc/passwd]
B --> D[/etc/shadow]
B --> E[/etc/group]
F[Login Process] -->|Read| C
F -->|Verify| D
# 2. useradd: Benutzer anlegen
Präzision beim Erstellen.
# Beispiel: Ein Standard-Admin-User
# -m: Home-Dir erstellen, -G: Zusatzgruppen, -s: Shell
sudo useradd -m -G wheel,docker -s /bin/bash sysadmin
# Beispiel: Ein Service-Account (Sicher)
Für Dämons (z.B. eine Datenbank) erstellen wir Accounts ohne Login und Home-Dir.
# -r: System-Account (niedrige UID), -s: No-Login
sudo useradd -r -s /usr/sbin/nologin myappuser
# 3. usermod: Bestehende Konten ändern
Anpassung im laufenden Betrieb.
# Gruppen hinzufügen (Der häufigste Befehl)
Vorsicht: Nutzen Sie immer -aG (append). Wenn Sie das -a vergessen, werden alle anderen Gruppen des Users gelöscht!
sudo usermod -aG sudo johndoe
# Account sperren/entsperren
# Sperren (Lock)
sudo usermod -L johndoe
# Entsperren (Unlock)
sudo usermod -U johndoe
# 4. Day-2 Operations: Benutzer löschen
Sauberes Offboarding.
# userdel
# -r: Löscht auch das Home-Verzeichnis und Mail-Spool
sudo userdel -r olduser
# 5. Troubleshooting & “War Stories”
Wenn die ID nicht passt.
# Story 1: “Der Ghost-User im NFS”
Symptom: Ein User greift auf einen NFS-Share zu und sieht Dateien, die angeblich ihm gehören, aber er kann sie nicht öffnen.
Ursache: Die UID auf Server A (z.B. 1001) passt nicht zur UID auf Server B (1005) für den gleichen Usernamen.
Lösung: Synchronisieren Sie die UIDs manuell:
sudo usermod -u 1001 <username>. Achtung: Danach müssen Sie alle Dateien des Users mit find / -uid 1005 -exec chown 1001 {} \; anpassen.
# Story 2: “Das Login-Loop-Problem”
Symptom: Ein User gibt sein korrektes Passwort ein, wird aber sofort wieder zum Login-Schirm zurückgeworfen.
Ursache: Die in /etc/passwd definierte Shell (z.B. /usr/bin/zsh) wurde gelöscht oder der Pfad ist falsch.
Lösung: Prüfen Sie die Shell: grep <user> /etc/passwd. Setzen Sie sie auf einen validen Pfad zurück: sudo usermod -s /bin/bash <user>.
# 6. Fazit & Empfehlung
- Wahl: Nutzen Sie
useraddstatt des interaktivenadduser(Debian-Spezifisch) in Skripten, da es konsistenter über alle Distributionen hinweg arbeitet. - Security: Vergeben Sie für Service-Accounts immer
/usr/sbin/nologin(oder/bin/false), um die Angriffsfläche zu minimieren. - Wartung: Nutzen Sie das Tool
id <username>, um schnell alle Gruppen und IDs eines Benutzers zu prüfen.
# Anhang: Cheatsheet
| Aufgabe | Befehl |
|---|---|
| User erstellen | useradd <name> |
| Mit Home-Dir | useradd -m <name> |
| UID manuell setzen | useradd -u 5000 <name> |
| Shell ändern | usermod -s /bin/zsh <name> |
| Gruppe hinzufügen | usermod -aG <group> <name> |
| Primäre Gruppe ändern | usermod -g <group> <name> |
| User löschen (komplett) | userdel -r <name> |
| Account Ablaufdatum | usermod -e 2024-12-31 <name> |
| UID/GID Info | id <name> |
| Alle User listen | cat /etc/passwd |
| Verwaiste Dateien finden | find / -nouser |
| Passwort setzen | passwd <name> |