Inhaltsverzeichnis
Benutzerverwaltung unter Linux
Die Benutzer- und Gruppenverwaltung erfolgt unter Linux über verschiedene Kommandos.
Benutzerverwaltung
useradd
Mit `useradd` wird ein neuer Benutzer unter Linux angelegt.
Syntax
useradd [Optionen] benutzername
Wichtige Optionen
-m – Home-Verzeichnis anlegen -d /pfad – Home-Verzeichnis festlegen -s /bin/bash – Shell festlegen -g gruppe – Primäre Gruppe festlegen -G gruppen – Zusätzliche Gruppen festlegen (Komma-getrennt) -c kommentar – Kommentar (z.B. Name, E-Mail)
Beispiel
useradd -m -d /home/UserName -s /bin/bash -c "User Name - user@email.example.com" username
Weitere Informationen
man useradd
usermod
Mit `usermod` werden bestehende Benutzerkonten geändert.
Syntax
usermod [Optionen] benutzername
Wichtige Optionen
-aG gruppe – Benutzer zu einer Gruppe hinzufügen -l neuername – Benutzer umbenennen -s /bin/zsh – Login-Shell ändern
Beispiel
usermod -aG docker max
Weitere Informationen
man usermod
userdel
Mit `userdel` wird ein Benutzerkonto gelöscht.
Syntax
userdel [Optionen] benutzername
Wichtige Optionen
# userdel
Usage: userdel [options] LOGIN
Options:
-f, --force force removal of files,
even if not owned by user
-h, --help display this help message and exit
-r, --remove remove home directory and mail spool
-Z, --selinux-user remove SELinux user from SELinux user mapping
Beispiel
userdel -rf max
Weitere Informationen
man userdel
Gruppenverwaltung
groupadd
Mit `groupadd` wird eine neue Gruppe angelegt.
Syntax
groupadd [Optionen] gruppenname
Wichtige Optionen
-g GID – Gruppen-ID festlegen -f – Fehler ignorieren, falls Gruppe schon existiert -K KEY=VALUE – Konfigurationswert setzen -o – Erlaubt doppelte GIDs -p PASSWD – Passwort für die Gruppe setzen (selten genutzt)
Beispiel
groupadd admins groupadd -g 2000 developers groupadd -f admins
Weitere Informationen
man groupadd
groupmod
Mit `groupmod` kann eine bestehende Gruppe geändert werden.
Syntax
groupmod [Optionen] gruppenname
Wichtige Optionen
-n neuername – Gruppe umbenennen -g GID – Neue Gruppen-ID festlegen -o – Erlaubt doppelte GIDs
Beispiel
groupmod -n neueadmins admins groupmod -g 3000 admins
Weitere Informationen
man groupmod
groupdel
Mit `groupdel` wird eine Gruppe gelöscht.
Syntax
groupdel gruppenname
Beispiel
groupdel admins
Weitere Informationen
man groupdel
Erweiterte Verwaltung
Skeleton-Dateien für Bash
.bashrc und .bash_profile
Beschreibung
Skeleton-Dateien sind Vorlagen, die beim Anlegen neuer Benutzer automatisch in deren Home-Verzeichnis kopiert werden. Dazu gehören unter anderem `.bashrc` und `.bash_profile`. Es können auch mehrere skeleton Datein angelegt werden.
Syntax
Die Skeleton-Dateien liegen in der Regel im Verzeichnis:
/etc/skel/
Beim Erstellen eines neuen Benutzers mit `useradd` werden alle Dateien aus diesem Verzeichnis ins Home-Verzeichnis des neuen Benutzers kopiert.
Wichtige Dateien
| Datei | Zweck |
|---|---|
| `.bashrc` | Wird bei interaktiven, nicht-Login-Shells geladen; enthält Shell-Optionen, Aliase und Funktionen. |
| `.bash_profile` | Wird bei Login-Shells geladen; kann `.bashrc` einbinden. |
| `.bash_logout` | Wird beim Beenden einer Login-Shell ausgeführt. |
| `.profile` | Alternative zu `.bash_profile` (wird v. a. bei Debian/Ubuntu verwendet). |
Konfiguration
- Änderungen an `/etc/skel/` wirken nur für neu erstellte Benutzer.
- Bestehende Benutzer müssen ihre `.bashrc` oder `.bash_profile` manuell anpassen.
- Systemweite Dateien:
- `/etc/bash.bashrc` → gilt für alle interaktiven Shells.
- `/etc/profile` → gilt für alle Login-Shells.
Beispiele
- Skeleton-Datei anpassen
sudo vi /etc/skel/.bashrc
- Neue Benutzer mit angepassten Skeleton-Dateien
sudo useradd -m neueruser sudo passwd neueruser
- Mehrere skeleton Dateien anlegen
/etc/skel/skel_dev01 mit .bashrc, .profile, .bash_logout /etc/skel/skel_prod01/ mit .bashrc, .profile, .bash_logout
- Verwenden der skeleton Dateien
useradd -m -k /etc/skel_dev01 -s /bin/bash -d /home/neueruser neueruser
Hinweis
Die Distributionen verwenden zum Teil verschidene Schreibweisen innerhalb von /etc/skel.
Alternativen
- Manuelle Anpassung der Dateien im Home-Verzeichnis bestehender Benutzer.
- Nutzung von `/etc/profile.d/*.sh` für systemweite Shell-Initialisierung.
Weitere Informationen
man bash man useradd man bashrc
Weitere Hinweise
man useradd man usermod man userdel man groupad man groupmod man groupdel
