Der Befehl useradd erstellt neue Benutzerkonten. Als Low-Level-Werkzeug bietet er volle Kontrolle über alle Kontoparameter wie UID, Gruppen, Home-Verzeichnis und Login-Shell.

Syntax des useradd-Befehls

Die allgemeine Syntax lautet:

useradd [OPTIONEN] BENUTZERNAME
  • OPTIONEN - Flags zur Konfiguration des neuen Kontos.
  • BENUTZERNAME - Der Name des neuen Benutzers.

Nur root oder Benutzer mit sudo-Rechten können useradd ausführen. Der Befehl liest Standardwerte aus /etc/default/useradd und /etc/login.defs.

Einen neuen Benutzer anlegen

Im einfachsten Fall rufst du useradd mit dem gewünschten Benutzernamen auf:

sudo useradd max

Ohne weitere Optionen verwendet useradd die Standardeinstellungen aus /etc/default/useradd. Der Befehl erstellt Einträge in /etc/passwd, /etc/shadow, /etc/group und /etc/gshadow.

Nach dem Anlegen musst du ein Passwort setzen, damit sich der Benutzer anmelden kann:

sudo passwd max

Du wirst zweimal zur Eingabe des Passworts aufgefordert.

Benutzer mit Home-Verzeichnis anlegen

Auf den meisten Distributionen erstellt useradd kein Home-Verzeichnis. Verwende die Option -m (--create-home), um eines anzulegen:

sudo useradd -m max

Das Home-Verzeichnis wird unter /home/max erstellt und mit den Dateien aus /etc/skel befüllt. Diese Skeleton-Dateien enthalten typischerweise .bashrc, .bash_logout und .profile.

Anderes Home-Verzeichnis festlegen

Mit -d (--home) legst du das Home-Verzeichnis an einem anderen Ort an:

sudo useradd -m -d /opt/max max

Benutzer-ID (UID) festlegen

Jeder Benutzer hat eine eindeutige numerische ID (UID). Standardmäßig vergibt das System die nächste freie UID. Mit -u (--uid) legst du eine bestimmte UID fest:

sudo useradd -u 1500 max

Die UID überprüfst du mit dem id-Befehl:

id -u max
1500

Primäre Gruppe festlegen

Standardmäßig erstellt useradd eine Gruppe mit dem gleichen Namen wie der Benutzer. Mit -g (--gid) weist du eine existierende Gruppe als primäre Gruppe zu:

sudo useradd -g users max

Die Gruppe muss bereits existieren. Du kannst den Gruppennamen oder die GID angeben.

Zusätzliche Gruppen zuweisen

Mit -G (--groups) fügst du den Benutzer weiteren Gruppen hinzu:

sudo useradd -g users -G wheel,docker max

Hier ist users die primäre Gruppe, wheel und docker sind sekundäre Gruppen. Alle Gruppenmitgliedschaften zeigst du mit id an:

id max
uid=1002(max) gid=100(users) groups=100(users),10(wheel),993(docker)

Login-Shell festlegen

Die Standard-Shell ist distributionsabhängig (/bin/sh oder /bin/bash). Mit -s (--shell) legst du eine andere Shell fest:

sudo useradd -s /usr/bin/zsh max

Die Shell kannst du in /etc/passwd nachprüfen:

grep max /etc/passwd
max:x:1001:1001::/home/max:/usr/bin/zsh

Kommentar hinzufügen (GECOS-Feld)

Das Kommentarfeld speichert zusätzliche Informationen wie den vollständigen Namen. Verwende -c (--comment):

sudo useradd -c "Max Mustermann" max

Der Kommentar erscheint im fünften Feld von /etc/passwd.

Konto mit Ablaufdatum anlegen

Für temporäre Konten setzt du mit -e (--expiredate) ein Ablaufdatum im Format JJJJ-MM-TT:

sudo useradd -e 2025-06-30 praktikant

Das Ablaufdatum überprüfst du mit chage:

sudo chage -l praktikant

Systembenutzer anlegen

Systembenutzer werden für Dienste und Daemons verwendet. Sie haben UIDs aus einem niedrigeren Bereich und kein Ablaufdatum. Verwende -r (--system):

sudo useradd -r nginx

Standardwerte anzeigen und ändern

Die aktuellen Standardeinstellungen zeigst du mit -D an:

useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

Um die Standard-Shell dauerhaft zu ändern:

sudo useradd -D -s /bin/bash

Zusammenfassung

Der useradd-Befehl erstellt Benutzerkonten mit präziser Kontrolle über alle Parameter. Die wichtigsten Optionen:

OptionBeschreibung
-mHome-Verzeichnis erstellen
-dHome-Verzeichnis-Pfad festlegen
-uUID festlegen
-gPrimäre Gruppe festlegen
-GSekundäre Gruppen zuweisen
-sLogin-Shell festlegen
-cKommentar hinzufügen
-eAblaufdatum setzen
-rSystembenutzer anlegen

Auf Debian und Ubuntu steht alternativ der interaktive Befehl adduser zur Verfügung, der eine benutzerfreundlichere Oberfläche bietet.

Verwandte Artikel