sammlung:usermod

usermod - Benutzerkonten ändern

Kurzfassung: Mit usermod werden bestehende Benutzerkonten geändert. Das Kommando ermöglicht Änderungen von Login-Namen, Home-Verzeichnis, Shell, Gruppen und weiteren Benutzerattributen. Zentral für die Verwaltung und Anpassung von Benutzerkonten ohne Neuanlage.

Übersicht

usermod (user modify) ermöglicht die Modifikation bestehender Benutzerkonten. Es ändert Einträge in /etc/passwd, /etc/shadow und /etc/group und kann Home-Verzeichnisse verschieben sowie Gruppenmitgliedschaften anpassen.

Voraussetzungen

  • Root-Rechte (sudo)
  • Benutzer darf nicht eingeloggt sein (bei kritischen Änderungen)
  • Gruppen müssen existieren (bei Gruppenwechsel)
  • Ausreichend Speicherplatz (bei Home-Verzeichnis-Verschiebung)

Syntax

usermod [Optionen] BENUTZERNAME

Wichtige Optionen

-aG gruppe           # Zu Gruppe hinzufügen (append)
-G gruppe1,gruppe2   # Gruppenmitgliedschaften setzen (ersetzt alle)
-l neuer_name        # Benutzername ändern
-d /neues/home       # Home-Verzeichnis ändern
-m                   # Home-Verzeichnis verschieben (mit -d)
-s /bin/zsh          # Login-Shell ändern
-L                   # Benutzerkonto sperren (lock)
-U                   # Benutzerkonto entsperren (unlock)
-e YYYY-MM-DD        # Ablaufdatum setzen
-c "kommentar"        # Kommentar/GECOS ändern

Anleitung

Schritt 1: Zu Gruppen hinzufügen

# Benutzer zu einzelner Gruppe hinzufügen
sudo usermod -aG docker alice
 
# Zu mehreren Gruppen hinzufügen
sudo usermod -aG sudo,docker,www-data bob
 
# ACHTUNG: Ohne -a werden alle anderen Gruppen entfernt!
sudo usermod -G docker alice  # Alice ist NUR noch in docker

Schritt 2: Login-Shell ändern

# Shell auf zsh ändern
sudo usermod -s /bin/zsh alice
 
# Shell auf bash zurück
sudo usermod -s /bin/bash alice
 
# Login deaktivieren
sudo usermod -s /usr/sbin/nologin serviceuser

Schritt 3: Benutzername ändern

# Benutzer muss ausgeloggt sein!
sudo usermod -l neuer_name alter_name
 
# Mit Home-Verzeichnis umbenennen
sudo usermod -l alice_neu alice_alt -d /home/alice_neu -m

Schritt 4: Home-Verzeichnis verschieben

# Home-Verzeichnis verschieben
sudo usermod -d /data/users/alice -m alice
 
# Nur Pfad ändern, nicht verschieben
sudo usermod -d /new/path alice

Schritt 5: Konto sperren/entsperren

# Konto sperren (prepend ! zu Passwort-Hash)
sudo usermod -L alice
 
# Konto entsperren
sudo usermod -U alice
 
# Status prüfen
sudo passwd -S alice

Schritt 6: Ablaufdatum setzen

# Konto läuft am 31.12.2026 ab
sudo usermod -e 2026-12-31 tempuser
 
# Ablauf entfernen
sudo usermod -e "" tempuser
 
# Prüfen
sudo chage -l tempuser

Typische Anwendungsfälle

# Benutzer zu sudo-Gruppe hinzufügen
sudo usermod -aG sudo alice
 
# Webentwickler-Setup
sudo usermod -aG www-data,docker bob
 
# Shell für Power-User ändern
sudo usermod -s /bin/zsh charlie
 
# Service-Account sichern
sudo usermod -s /usr/sbin/nologin -L serviceaccount

Hinweise

  • -aG wichtig: Ohne -a werden bestehende Gruppenmitgliedschaften entfernt
  • Logout erforderlich: Bei kritischen Änderungen Benutzer ausloggen
  • Gruppenwechsel: Änderungen wirken erst nach erneutem Login
  • Home verschieben: -m nur mit -d zusammen verwenden
  • Konto sperren: -L ändert nur Passwort, SSH-Keys funktionieren weiter
  • Primary Group: Mit -g ändern (selten nötig)

Siehe auch

Quellen

sammlung/usermod.txt · Zuletzt geändert: von 127.0.0.1