Benutzerverwaltung unter Linux

**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 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:shell
Hier ist eine detaillierte Erklärung der einzelnen Felder:

  1. benutzername: Der Name des Benutzers (z. B. “root”, “john”).
  2. 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/shadow gespeichert).
  3. benutzer_id (UID): Eine eindeutige numerische ID für den Benutzer.
  4. gruppen_id (GID): Die ID der primären Gruppe des Benutzers.
  5. gefullname: Ein optionales Feld für den vollständigen Namen des Benutzers oder eine Beschreibung (manchmal bleibt es leer).
  6. home_verzeichnis: Das Verzeichnis, in dem der Benutzer seine Dateien speichert (z. B. /home/john).
  7. shell: Die Standard-Shell, die beim Einloggen verwendet wird (z. B. /bin/bash oder /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/shadow gespeichert)
  • 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