Der Befehl usermod ändert die Eigenschaften eines bestehenden Benutzerkontos. Mit diesem Werkzeug verwaltest du Gruppenzugehörigkeiten, Heimatverzeichnisse, Login-Shells und Kontoeinstellungen.
Syntax des usermod-Befehls
usermod [OPTIONEN] BENUTZER
OPTIONEN- Flags, die festlegen, welche Eigenschaften geändert werden.BENUTZER- Der Anmeldename des zu ändernden Benutzerkontos.
Hinweis: Nur root oder Benutzer mit sudo-Rechten können usermod ausführen. Der Befehl erzeugt bei Erfolg keine Ausgabe.
Benutzer zu einer Gruppe hinzufügen
Die häufigste Verwendung von usermod ist das Hinzufügen eines Benutzers zu einer oder mehreren Gruppen. Verwende dafür die Optionen -a (append) und -G:
sudo usermod -a -G GRUPPENNAME BENUTZER
Um den Benutzer maria zur Gruppe docker hinzuzufügen:
sudo usermod -a -G docker maria
Für mehrere Gruppen gleichzeitig trennst du die Gruppennamen mit Kommas (ohne Leerzeichen):
sudo usermod -a -G docker,www-data,developers maria
Wichtig: Verwende immer die Option -a. Ohne -a entfernt usermod den Benutzer aus allen bestehenden sekundären Gruppen, die nicht in der Liste stehen.
Primäre Gruppe ändern
Jeder Benutzer hat genau eine primäre Gruppe. Um diese zu ändern, verwende die Option -g (Kleinbuchstabe):
sudo usermod -g GRUPPENNAME BENUTZER
Beispiel:
sudo usermod -g developers maria
Home-Verzeichnis ändern
Mit der Option -d legst du ein neues Home-Verzeichnis fest:
sudo usermod -d /neuer/pfad BENUTZER
Standardmäßig werden dabei keine Dateien verschoben. Um den Inhalt des alten Home-Verzeichnisses in das neue zu übertragen, füge die Option -m hinzu:
sudo usermod -d /var/www -m www-data
Falls das neue Verzeichnis nicht existiert, wird es automatisch erstellt.
Login-Shell ändern
Die Login-Shell ist die Shell, die nach der Anmeldung gestartet wird. Auf den meisten Systemen ist das standardmäßig Bash. Um die Shell zu ändern, verwende die Option -s mit dem absoluten Pfad zur neuen Shell:
sudo usermod -s /usr/bin/zsh maria
Welche Shells auf deinem System verfügbar sind, zeigt die Datei /etc/shells:
cat /etc/shells
Benutzernamen ändern
Die Option -l ändert den Anmeldenamen eines Benutzers:
sudo usermod -l NEUER_NAME ALTER_NAME
Beispiel:
sudo usermod -l maria.schmidt maria
Das Home-Verzeichnis wird dabei nicht automatisch umbenannt. Wenn du auch das Home-Verzeichnis anpassen möchtest, kombiniere -l mit -d und -m:
sudo usermod -l maria.schmidt -d /home/maria.schmidt -m maria
Benutzer-UID ändern
Die UID (User Identifier) ist eine eindeutige Nummer, die das System intern zur Identifikation verwendet. Um sie zu ändern:
sudo usermod -u 1050 maria
Die Besitzverhältnisse von Dateien im Home-Verzeichnis werden automatisch aktualisiert. Dateien außerhalb des Home-Verzeichnisses musst du manuell mit chown anpassen.
Benutzerinformationen (GECOS) ändern
Das GECOS-Feld speichert zusätzliche Informationen wie den vollständigen Namen. Ändere es mit der Option -c:
sudo usermod -c "Maria Schmidt, Entwicklung" maria
Diese Information wird in /etc/passwd gespeichert und von Befehlen wie finger angezeigt.
Ablaufdatum für Konten festlegen
Mit der Option -e setzt du ein Datum, an dem das Konto automatisch deaktiviert wird. Das Format ist JJJJ-MM-TT:
sudo usermod -e 2025-12-31 maria
Um das Ablaufdatum zu entfernen und das Konto unbegrenzt gültig zu machen:
sudo usermod -e "" maria
Das aktuelle Ablaufdatum prüfst du mit:
sudo chage -l maria
Benutzerkonto sperren
Die Option -L sperrt ein Konto, indem sie das Passwort ungültig macht:
sudo usermod -L maria
Der Benutzer kann sich dann nicht mehr mit Passwort anmelden. Andere Methoden wie SSH-Key-Authentifizierung funktionieren weiterhin. Um das Konto vollständig zu sperren, kombiniere -L mit einem Ablaufdatum in der Vergangenheit:
sudo usermod -L -e 1 maria
Zum Entsperren verwendest du die Option -U:
sudo usermod -U maria
Zusammenfassung
Der Befehl usermod ist das zentrale Werkzeug zur Verwaltung bestehender Benutzerkonten. Die wichtigsten Optionen:
| Option | Funktion |
|---|---|
-a -G | Zu sekundären Gruppen hinzufügen |
-g | Primäre Gruppe ändern |
-d | Home-Verzeichnis ändern |
-m | Home-Verzeichnis verschieben |
-s | Login-Shell ändern |
-l | Benutzernamen ändern |
-u | UID ändern |
-c | GECOS-Informationen ändern |
-e | Ablaufdatum setzen |
-L / -U | Konto sperren / entsperren |