Benutzer & Gruppen verwalten
Benutzer & Gruppen verwalten
Jeder, der auf einem Linux-System arbeitet, ist ein Benutzer. Dieses Guide erklärt dir, wie du Benutzer anlegst, in Gruppen organisierst und verstehst, wer was darf.
Warum Benutzer und Gruppen?
Stell dir vor, du hast einen Server mit mehreren Personen: - Max soll Webseiten bearbeiten können - Anna soll nur Datenbanken verwalten - Der Webserver (nginx) braucht Zugriff auf Website-Dateien, aber nicht auf die Datenbank
Mit Benutzern und Gruppen regelst du genau das: Wer darf was.
Grundkonzepte einfach erklärt
Was ist ein Benutzer?
Ein Benutzer ist wie ein Konto auf deinem System. Jeder Benutzer hat:
| Eigenschaft | Beispiel | Erklärung |
|---|---|---|
| Username | max |
Der Name zum Einloggen |
| UID | 1001 |
Eindeutige Nummer (User ID) |
| Home-Verzeichnis | /home/max |
Persönlicher Ordner |
| Shell | /bin/bash |
Das Programm für die Kommandozeile |
| Primäre Gruppe | max |
Hauptgruppe des Benutzers |
Was ist eine Gruppe?
Eine Gruppe fasst mehrere Benutzer zusammen. Wenn du einer Gruppe Zugriff auf einen Ordner gibst, haben automatisch alle Mitglieder Zugriff.
Beispiel:
- Gruppe webteam hat Zugriff auf /var/www
- Max und Anna sind in der Gruppe webteam
- → Beide können die Webseite bearbeiten
Wichtige System-Benutzer
Diese Benutzer existieren auf jedem Linux-System:
| Benutzer | UID | Zweck |
|---|---|---|
root |
0 | Administrator mit allen Rechten |
nobody |
65534 | Minimale Rechte für Dienste |
www-data |
33 | Webserver (Debian/Ubuntu) |
nginx |
- | Webserver (bei nginx-Installation) |
mysql |
- | MySQL-Datenbank |
⚠️ Wichtig: Arbeite niemals dauerhaft als root! Nutze stattdessen sudo.
Benutzer erstellen
Einfacher Benutzer
# Benutzer mit Home-Verzeichnis erstellen
sudo adduser max
Du wirst nach einem Passwort und optionalen Infos gefragt (Name, Telefon – kannst du leer lassen mit Enter).
Was passiert dabei?
- Benutzer
maxwird angelegt - Gruppe
maxwird erstellt (primäre Gruppe) - Home-Verzeichnis
/home/maxwird erstellt - Dateien aus
/etc/skelwerden kopiert (.bashrc etc.)
Benutzer für einen Dienst (kein Login)
Für Services wie Webserver erstellst du Benutzer ohne Login-Möglichkeit:
sudo useradd -r -s /usr/sbin/nologin serviceuser
Was bedeuten die Optionen?
- -r = System-Benutzer (niedrige UID, kein Home)
- -s /usr/sbin/nologin = Kann sich nicht einloggen
Benutzer verwalten
Passwort setzen oder ändern
# Eigenes Passwort ändern
passwd
# Passwort eines anderen Benutzers (als root/sudo)
sudo passwd max
Benutzer einer Gruppe hinzufügen
# WICHTIG: Immer -a benutzen, sonst werden andere Gruppen entfernt!
sudo usermod -aG gruppenname max
Häufige Beispiele:
# Sudo-Rechte geben (Ubuntu/Debian)
sudo usermod -aG sudo max
# Docker-Nutzung erlauben
sudo usermod -aG docker max
# Zum Webteam hinzufügen
sudo usermod -aG www-data max
⚠️ Wichtig: Der Benutzer muss sich ab- und wieder anmelden, damit die neue Gruppe aktiv wird!
Informationen anzeigen
# Welche Gruppen hat ein Benutzer?
groups max
# Ausführliche Info (UID, GID, alle Gruppen)
id max
# Eigene Infos
id
Beispiel-Ausgabe:
uid=1001(max) gid=1001(max) groups=1001(max),27(sudo),33(www-data),998(docker)
Benutzer löschen
# Nur Benutzer löschen (Home bleibt)
sudo deluser max
# Benutzer MIT Home-Verzeichnis löschen
sudo deluser --remove-home max
Gruppen verwalten
Gruppe erstellen
sudo groupadd webteam
Gruppe löschen
sudo groupdel webteam
Alle Gruppen anzeigen
# Alle Gruppen
cat /etc/group
# Nur Gruppennamen
cut -d: -f1 /etc/group
# Mitglieder einer Gruppe
getent group webteam
Die wichtigen Konfigurationsdateien
/etc/passwd – Benutzer-Informationen
cat /etc/passwd
Format:
max:x:1001:1001:Max Mustermann:/home/max:/bin/bash
│ │ │ │ │ │ └─ Shell
│ │ │ │ │ └─ Home-Verzeichnis
│ │ │ │ └─ Kommentar/Name
│ │ │ └─ GID (Gruppen-ID)
│ │ └─ UID (User-ID)
│ └─ "x" = Passwort in /etc/shadow
└─ Username
/etc/group – Gruppen-Informationen
cat /etc/group
Format:
webteam:x:1002:max,anna
│ │ │ └─ Mitglieder (kommagetrennt)
│ │ └─ GID
│ └─ Passwort (meist leer)
└─ Gruppenname
/etc/shadow – Passwörter (verschlüsselt)
Diese Datei enthält die verschlüsselten Passwörter. Nur root kann sie lesen:
sudo cat /etc/shadow
Praktische Beispiele
Beispiel 1: Neuen Admin-Benutzer erstellen
# 1. Benutzer erstellen
sudo adduser admin
# 2. Sudo-Rechte geben
sudo usermod -aG sudo admin
# 3. Prüfen
groups admin
# Ausgabe: admin sudo
Beispiel 2: Web-Entwickler einrichten
# 1. Benutzer erstellen
sudo adduser webdev
# 2. Zur www-data Gruppe hinzufügen
sudo usermod -aG www-data webdev
# 3. Zugriff auf /var/www geben
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
# Jetzt kann webdev Dateien in /var/www bearbeiten
Beispiel 3: Service-Account für eine App
# System-Benutzer ohne Login
sudo useradd -r -s /usr/sbin/nologin -d /opt/myapp myapp
# Ordner erstellen und Rechte setzen
sudo mkdir -p /opt/myapp
sudo chown myapp:myapp /opt/myapp
Root und Sudo verstehen
Was ist root?
root ist der Superuser – er darf ALLES auf dem System. Das ist mächtig, aber auch gefährlich.
Was ist sudo?
sudo = "Super User DO" – führt einen Befehl als root aus.
# Normal (als max): Keine Berechtigung
apt update
# Fehler: Permission denied
# Mit sudo: Funktioniert
sudo apt update
Wer darf sudo benutzen?
Nur Benutzer in der Gruppe sudo (Ubuntu/Debian) oder wheel (CentOS/RHEL).
# Prüfen ob du sudo darfst
groups
# Sollte "sudo" enthalten
Häufige Fehler vermeiden
Fehler 1: -a bei usermod vergessen
# FALSCH - entfernt alle anderen Gruppen!
sudo usermod -G docker max
# RICHTIG - fügt zur Gruppe hinzu
sudo usermod -aG docker max
Fehler 2: Nach Gruppenänderung nicht neu eingeloggt
Gruppenänderungen werden erst nach dem Logout/Login aktiv:
# Gruppen neu laden ohne Logout
newgrp docker
Fehler 3: Als root arbeiten
# NICHT empfohlen
sudo su -
# Jetzt bist du root - gefährlich!
# BESSER: Nur einzelne Befehle mit sudo
sudo apt update
Zusammenfassung
| Aufgabe | Befehl |
|---|---|
| Benutzer erstellen | sudo adduser max |
| Passwort setzen | sudo passwd max |
| Zur Gruppe hinzufügen | sudo usermod -aG gruppe max |
| Gruppen anzeigen | groups max oder id max |
| Benutzer löschen | sudo deluser max |
| Gruppe erstellen | sudo groupadd teamname |
| Alle Benutzer | cat /etc/passwd |
| Alle Gruppen | cat /etc/group |
Nächste Schritte
Jetzt wo du Benutzer und Gruppen verstehst, lerne als nächstes:
- Dateiberechtigungen (chmod/chown) – Welche Rechte haben Dateien?
- SSH Hardening – Sichere Remote-Zugänge
- Sudo Konfiguration – Wer darf was mit sudo?