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 |

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:

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

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