Benutzerverwaltung unter Linux

**This is an old revision of the document!**

Benutzerverwaltung unter Linux ====== ==== In a nutshell

====== 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 ==== |< 100% 30% 70%>| ^ 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 |< 100% 30% 70%>| ^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 |< 100% 30% 70%>| ^ 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 ==== |< 100% 30% 70%>| ^ 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:

 benutzername:passwort:benutzer_id:gruppen_id:gefullname:home_verzeichnis:shell 

Hier 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/shadow gespeichert).
  • 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/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

< 100% 30% 70%> Befehl Aktion sudo userdel benutzername Löscht den User sudo userdel -r benutzername Home-Verzeichnis wird gelöscht