**This is an old revision of the document!**
Benutzerverwaltung unter Linux
tl;dr
# Erstellen von Gruppen sudo groupadd developers # Erstellen von Benutzern und Zuweisen zu Gruppen sudo useradd -m -s /bin/bash User # Den User der einer Nebengruppe hinzufügen sudo usermod -aG developers User # Setzen des Passworts sudo passwd User # Überblick verschaffen über Nutzer und Gruppen getent passwd # Einträge der Datei passwd (User) getent group # Einträge der Datei group (Gruppen) # User wieder löschen sudo userdel -r User
Benutzer
- Linux ist ein Mehrbenutzer-Betriebssystem.
- Das bedeutet, dass mehrere Benutzer gleichzeitig auf einem System arbeiten können.
- Jeder Benutzer hat ein eigenes Konto mit spezifischen Rechten und Privilegien.
Gruppen
- Jeder Benutzer ist einer Hauptgruppe zugeordnet
- kann daneben aber auch Mitglied weiterer Gruppen sein.
- Der Zugriff auf gewisse Hardware oder Dienste ist auf die Mitglieder einer bestimmten Gruppe beschränkt.
- Jede Datei ist immer Eigentum genau eines Benutzers.
- Daneben ist den Dateien aber auch eine Gruppe zugeordnet.
Benutzerverwaltung:
- fassen Benutzer mit ähnlichen Rollen oder Verantwortlichkeiten zusammenfassen
- ermöglichen Administratoren, Berechtigungen kollektiv auf eine Gruppe von Benutzern anzuwenden.
Ressourcenzugriff:
- erleichtern den kontrollierten Zugriff auf Dateien, Verzeichnisse und Systemressourcen.
- Berechtigungen können auf Gruppenebene zugewiesen werden, was eine effiziente Ressourcenverwaltung sicherstellt.
Zusammenarbeit:
- Gruppen verbessern die Zusammenarbeit, indem sie es Benutzern mit gemeinsamen Zielen ermöglichen, nahtlos zusammenzuarbeiten.
- Gruppenzugehörigkeiten vereinfachen den Prozess der Zugriffsgewährung auf gemeinsame Projektdateien.
Sicherheit:
- Sicherheitsrichtlinien können auf Gruppenebene durchgesetzt werden, was einen detaillierten Ansatz zur Systemsicherheit gewährleistet.
- Gruppenbasierte Berechtigungen tragen zu einer sicheren und gut organisierten Linux-Umgebung bei.
Gruppen anlegen/ ändern/ löschen
| Befehl | Aktion |
|---|---|
sudo groupadd gruppe | Fügt Gruppe hinzu |
sudo groupmod -n neuername gruppe | Ändert Namen einer Gruppe |
sudo groupdel gruppe | Löscht eine Gruppe |
Benutzerkonten
- Root-Benutzer: Der Administrator des Systems mit vollen Rechten. Dieser Benutzer kann alle Dateien und Einstellungen ändern.
- Normale Benutzer: Diese Benutzer haben eingeschränkte Rechte und können nur auf ihre eigenen Dateien und bestimmte freigegebene Ressourcen zugreifen.
Benutzer anlegen
sudo useradd -m -s /bin/bash benutzername
| Option | Aktion |
|---|---|
-m | sorgt dafür, dass ein Home-Verzeichnis für den neuen Benutzer erstellt wird |
-s | Nutzer nutzt bash als Konsole |
-G | fügt den neu erstellten Nutzer direkt der Nebengruppe GRUPPE hinzu |
Passwort setzen
Nach dem Anlegen eines Benutzers muss ein Passwort gesetzt werden:
sudo passwd benutzername
Benutzer modifizieren
sudo usermod -g gruppe benutzername
| Befehl | Aktion |
|---|---|
-g gruppe benutzername | ändert die Hauptgruppe des Users |
-aG gruppe benutzername | fügt den Benutzer einer Nebengruppe hinzu, ohne ihn aus anderen Gruppen zu entfernen |
-G gruppe benutzername | ändert die Nebengruppe des Users |
-l neuername benutzername | kann der Name eines Benutzers geändert werden |
Benutzer aus Gruppen entfernen mit gpasswd
Der Befehl gpasswd wird sowohl für das Hinzufügen als auch das Entfernen von Usern zu Gruppen verwendet.
Hinzufügen
gpasswd -a -a für “add”
sudo gpasswd -a benutzername gruppennameEntfernen
gpasswd -d -d für “delete”
sudo gpasswd -d benutzername gruppenname
Benutzer und Gruppen anzeigen
| Befehl | Rückgabe |
|---|---|
getent passwd | user:password:uid:gid:user name or comment field:home directory:shell |
getent group | group:password:gid:users |
/etc/passwd
Die Einträge in der Datei /etc/passwd sind für die Verwaltung von Benutzerkonten auf einem Linux-System wichtig. Jeder Eintrag enthält Informationen zu einem einzelnen Benutzer und ist durch Doppelpunkte (:) getrennt. Ein typischer Eintrag sieht so aus:
> getent passwd benutzername:passwort:benutzer_id:gruppen_id:gefullname:home_verzeichnis:shellHier ist eine detaillierte Erklärung der einzelnen Felder:
- benutzername: Der Name des Benutzers (z. B. “root”, “john”).
- passwort: Ein verschlüsseltes Passwort (historisch gesehen war hier das Passwort gespeichert, aber aus Sicherheitsgründen wird heutzutage oft ein “x” oder “*” angezeigt, und die Passwörter werden in der Datei
/etc/shadowgespeichert). - benutzer_id (UID): Eine eindeutige numerische ID für den Benutzer.
- gruppen_id (GID): Die ID der primären Gruppe des Benutzers.
- gefullname: Ein optionales Feld für den vollständigen Namen des Benutzers oder eine Beschreibung (manchmal bleibt es leer).
- home_verzeichnis: Das Verzeichnis, in dem der Benutzer seine Dateien speichert (z. B.
/home/john). - shell: Die Standard-Shell, die beim Einloggen verwendet wird (z. B.
/bin/bashoder/bin/sh).
Ein Beispiel eines Eintrags:
john:x:1001:1001:John Doe:/home/john:/bin/bash
In diesem Beispiel bedeutet:
- Benutzername:
john - Passwort:
x(Passwort wird in/etc/shadowgespeichert) - UID:
1001 - GID:
1001 - Vollständiger Name:
John Doe - Home-Verzeichnis:
/home/john - Shell:
/bin/bash
Benutzer löschen
| Befehl | Aktion |
|---|---|
sudo userdel benutzername | Löscht den User |
sudo userdel -r benutzername | Home-Verzeichnis wird gelöscht |