useradd: Benutzerkonten anlegen und /etc/login.defs: Systemstandards definieren

Inhaltsverzeichnis

Warum dieses Thema wichtig ist

Als angehender RHCSA musst du lokale Benutzerkonten sicher und reproduzierbar anlegen können. Der Befehl useradd und die Konfigurationsdatei /etc/login.defs greifen ineinander, da du damit sowohl einzelne Accounts präzise steuerst als auch Standardwerte für alle neuen Nutzer festlegst.

useradd: Benutzer gezielt anlegen

useradd ist das Standardwerkzeug, um lokale Benutzerkonten auf RHEL-Systemen anzulegen. Viele Optionen sind prüfungsrelevant, weil du damit UIDs, Home-Verzeichnisse, Shells und Gruppen exakt nach Vorgabe setzen kannst.

Wichtige Optionen im Überblick

Du kannst mit useradd NAME einen neuen lokalen Benutzer mit den Standardwerten aus /etc/login.defs und /etc/default/useradd anlegen.

  • -b (–base-dir): Diese Option definiert den absoluten Pfad zum Basissverzeichnis für User-Home-Verzeichnisse, wobei der Standardwert /home ist. Der Benutzername wird an diesen Pfad angehängt, um das Home-Verzeichnis zu bilden.
useradd -b /srv/homes andy
  • -c (–comment): Diese Option beschreibt nützliche Informationen über den Benutzer, die im Passwortdateikommentarfeld erscheinen. Sie eignet sich, um zusätzliche Details wie Rolle oder Abteilung zu speichern.
useradd -c "Entwickler Andreas Moor" andy
  • -D (–defaults): Diese Option zeigt die Standardeinstellungen aus /etc/default/useradd an und erlaubt deren Änderung. So kannst du Systemweite Defaults für Home-Pfade oder Shells anpassen.
useradd -D
  • -d (–home-dir): Mit dieser Option überschreibst du den Standard-Pfad für das Home-Verzeichnis, etwa für spezielle Applikationsbenutzer. Der angegebene Pfad wird direkt als Home-Verzeichnis verwendet.
useradd -d /srv/dev andy
  • -e (–expiredate): Diese Option spezifiziert ein Datum, an dem der Benutzeraccount automatisch deaktiviert wird, im Format YYYY-MM-DD. Sie ist ideal für zeitlich begrenzte Zugänge wie Praktikanten.
useradd -e 2025-12-31 andy
  • -f (–inactive): Diese Option gibt die maximalen Tage der Inaktivität zwischen Passwortablauf und dauerhafter Deaktivierung an. Sie verstärkt die Passwortsicherheit nach Ablauf.
useradd -f 30 andy
  • -g (–gid): Diese Option setzt die primäre Gruppe für den Benutzer. Ohne sie wird eine Gruppe mit dem Benutzernamen und passender GID erstellt.
useradd -g developers andy
  • -G (–groups): Diese Option definiert die Zugehörigkeit zu zusätzlichen (supplementären) Gruppen, was für Dateiberechtigungen und Rollenverteilung entscheidend ist.
useradd -G wheel andy
  • -k (–skel): Diese Option spezifiziert das Skelettverzeichnis (Standard: /etc/skel), das Standard-Startup-Dateien wie .bash_profile enthält. Diese Dateien werden ins Home-Verzeichnis kopiert.
useradd -k /etc/skel.custom andy
  • -m (–create-home): Diese Option erstellt ein Home-Verzeichnis, falls es nicht existiert. Sie überschreibt Defaults und ist essenziell für interaktive Benutzer.
useradd -m andy
  • -o (–non-unique): Diese Option erlaubt die Erstellung eines Accounts, der eine UID mit einem bestehenden Benutzer teilt. Beide erhalten identische Rechte auf Dateien des anderen – nur für spezielle Fälle nutzen.
useradd -o andy
  • -r (–system): Diese Option erstellt ein Systemaccount mit UID unter 1000 und nie ablaufendem Passwort. Geeignet für Daemons und Services.
useradd -r systemuser
  • -s (–shell): Diese Option legt die Login-Shell fest, zum Beispiel /sbin/nologin für Service-Accounts ohne interaktiven Zugriff. Der Standard ist /bin/bash.
useradd -s /bin/bash andy
  • -u (–uid): Diese Option weist eine einzigartige UID zu; ohne sie wird die nächste freie UID aus /etc/passwd verwendet. Nützlich für Konsistenz mit NFS oder LDAP.
useradd -u 3001 andy
  • Ein typisches RHCSA-Beispiel kombiniert mehrere Optionen: Du legst einen Benutzer mit fester UID, Gruppen, Home, Shell und Ablaufdatum an, gefolgt von passwd andy für die Erstellung eines Passwords.
useradd -u 3001 -g developers -G wheel -d /srv/dev -m -s /bin/bash -e 2025-12-31 andy

passwd andy

login.defs: Standards für neue Nutzer steuern

/etc/login.defs steuert Standardwerte für neue Benutzer, wie UID-/GID-Bereiche mit UID_MIN, UID_MAX usw., um System- und normale Accounts zu trennen. Passwort-Aging-Parameter wie PASS_MAX_DAYS, PASS_MIN_DAYS und PASS_WARN_AGE definieren Richtlinien für neue Konten.

Änderungen wirken nur auf neu angelegte Accounts. PASS_MIN_LEN setzt die minimale Passwortlänge.

Zusammenspiel: useradd und login.defs

useradd verwendet Werte aus /etc/login.defs, wenn keine expliziten Optionen angegeben sind, etwa für UID-Bereiche oder Passwort-Aging. So standardisierst du Routineaufgaben mit einem gepflegten login.defs.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

236 Beiträge
16 Folgende