Benutzer- und Gruppenkonten und dazugehörige Systemdateien verwalten

Benutzer- und Gruppenverwaltung ist ein zentraler Bestandteil der Systemadministration unter Linux. Jeder Benutzer auf einem Linux-System hat ein eigenes Benutzerkonto mit spezifischen Rechten, Verzeichnissen und Dateien. Gruppen helfen, Berechtigungen für mehrere Benutzer zu verwalten und den Zugriff auf bestimmte Ressourcen zu steuern.

In diesem Tutorial lernen Sie, wie Sie Benutzer- und Gruppenkonten auf einem Linux-System verwalten und welche Systemdateien wichtig sind, um diese Konfigurationen zu speichern.


1. Systemdateien für Benutzer und Gruppen

Zunächst werfen wir einen Blick auf die wichtigsten Dateien, die für die Verwaltung von Benutzern und Gruppen verantwortlich sind:

1.1 /etc/passwd

Die Datei /etc/passwd speichert Informationen über Benutzerkonten. Jede Zeile in dieser Datei repräsentiert einen Benutzer.

Beispielzeile in /etc/passwd:

username:x:1000:1000:User Name,,,:/home/username:/bin/bash
  • username: Der Benutzername.
  • x: Platzhalter für das verschlüsselte Passwort (das eigentliche Passwort ist in /etc/shadow gespeichert).
  • 1000: Die User ID (UID), eine eindeutige Identifikationsnummer für den Benutzer.
  • 1000: Die Group ID (GID), die Standardgruppe des Benutzers.
  • User Name: Ein Feld für die Beschreibung des Benutzers (optional).
  • /home/username: Das Home-Verzeichnis des Benutzers.
  • /bin/bash: Die Standard-Shell des Benutzers (z.B. /bin/bash, /bin/sh).

1.2 /etc/shadow

Die Datei /etc/shadow speichert die verschlüsselten Passwörter der Benutzer und zusätzliche Informationen über die Passwortpolitik. Sie ist aus Sicherheitsgründen nur für den root-Benutzer lesbar.

Beispielzeile in /etc/shadow:

username:$6$randomhash$3AbK...:18453:0:99999:7:::
  • username: Der Benutzername.
  • $6$randomhash$...: Das verschlüsselte Passwort (mit SHA-512 verschlüsselt).
  • 18453: Das Datum des letzten Passwortwechsels (als Tage seit dem 1. Januar 1970).
  • 0: Minimale Anzahl der Tage vor dem nächsten Passwortwechsel.
  • 99999: Maximale Anzahl der Tage, die ein Passwort gültig ist.
  • 7: Anzahl der Tage vor Ablauf, an denen der Benutzer gewarnt wird.

1.3 /etc/group

Die Datei /etc/group speichert Informationen über Gruppen auf dem System. Jede Zeile repräsentiert eine Gruppe.

Beispielzeile in /etc/group:

groupname:x:1000:username1,username2
  • groupname: Der Name der Gruppe.
  • x: Platzhalter für ein verschlüsseltes Passwort (wird normalerweise nicht verwendet).
  • 1000: Die Group ID (GID).
  • username1,username2: Benutzer, die Mitglieder dieser Gruppe sind.

2. Benutzerverwaltung

2.1 Benutzer hinzufügen

Um einen neuen Benutzer hinzuzufügen, verwenden Sie das useradd-Kommando. Dabei werden alle relevanten Daten in den oben genannten Dateien automatisch eingetragen.

Beispiel:

sudo useradd -m -s /bin/bash username
  • -m: Erstellt automatisch das Home-Verzeichnis für den Benutzer.
  • -s /bin/bash: Legt die Standard-Shell für den Benutzer fest (z.B. /bin/bash).

Nach dem Hinzufügen eines Benutzers muss ein Passwort gesetzt werden:

sudo passwd username

2.2 Benutzer entfernen

Um einen Benutzer zu löschen, verwenden Sie das userdel-Kommando.

Beispiel:

sudo userdel username

Wenn Sie auch das Home-Verzeichnis und die persönlichen Dateien des Benutzers löschen möchten, verwenden Sie den -r-Parameter:

sudo userdel -r username

2.3 Benutzerinformationen ändern

Das usermod-Kommando wird verwendet, um die Eigenschaften eines vorhandenen Benutzers zu ändern. Zum Beispiel, um den Benutzer einer neuen Gruppe hinzuzufügen oder das Home-Verzeichnis zu ändern.

Beispiel, um einen Benutzer zu einer neuen Gruppe hinzuzufügen:

sudo usermod -aG groupname username
  • -aG: Fügt den Benutzer einer Gruppe hinzu, ohne die bisherigen Gruppenmitgliedschaften zu löschen.

Beispiel, um das Home-Verzeichnis zu ändern:

sudo usermod -d /new/home/directory username

3. Gruppenverwaltung

3.1 Gruppe hinzufügen

Das groupadd-Kommando wird verwendet, um eine neue Gruppe auf dem System anzulegen.

Beispiel:

sudo groupadd groupname

3.2 Gruppe entfernen

Um eine Gruppe zu löschen, verwenden Sie das groupdel-Kommando.

Beispiel:

sudo groupdel groupname

3.3 Benutzer zu Gruppen hinzufügen

Wie bereits in der Benutzerverwaltung gezeigt, können Sie Benutzer zu Gruppen hinzufügen, indem Sie usermod -aG verwenden.

Beispiel, um einen Benutzer zu einer bestehenden Gruppe hinzuzufügen:

sudo usermod -aG groupname username

3.4 Liste der Gruppen eines Benutzers anzeigen

Um herauszufinden, in welchen Gruppen ein Benutzer Mitglied ist, verwenden Sie das groups-Kommando.

Beispiel:

groups username

4. Berechtigungen und Dateizugriff

Unter Linux basieren die Dateiberechtigungen auf Benutzern und Gruppen. Jede Datei oder jedes Verzeichnis hat einen Besitzer (Benutzer) und eine Gruppe. Es gibt drei Arten von Berechtigungen:

  • Lesen (r): Die Datei kann gelesen werden.
  • Schreiben (w): Die Datei kann geändert oder gelöscht werden.
  • Ausführen (x): Die Datei kann ausgeführt werden (bei ausführbaren Dateien oder Skripten).

Sie können mit dem ls -l Befehl die Berechtigungen einer Datei oder eines Verzeichnisses anzeigen.

Beispielausgabe:

-rwxr-xr-- 1 username groupname 4096 Jan 12 14:00 datei.txt
  • rwx: Rechte des Eigentümers (lesen, schreiben, ausführen).
  • r-x: Rechte der Gruppe (lesen und ausführen, aber nicht schreiben).
  • r--: Rechte für andere Benutzer (nur lesen).

4.1 Berechtigungen ändern

Verwenden Sie das chmod-Kommando, um die Berechtigungen einer Datei oder eines Verzeichnisses zu ändern.

Beispiel, um die Datei schreibgeschützt für alle außer dem Besitzer zu machen:

chmod 744 datei.txt
  • 7: Volle Rechte für den Besitzer (lesen, schreiben, ausführen).
  • 4: Nur Leserechte für die Gruppe.
  • 4: Nur Leserechte für andere Benutzer.

4.2 Besitzer und Gruppe ändern

Mit chown können Sie den Besitzer und die Gruppe einer Datei ändern.

Beispiel, um den Besitzer einer Datei zu ändern:

sudo chown newuser datei.txt

Beispiel, um sowohl Besitzer als auch Gruppe zu ändern:

sudo chown newuser:newgroup datei.txt

5. Standardkonfiguration für neue Benutzer: /etc/skel

Die Datei /etc/skel enthält Vorlagendateien, die in das Home-Verzeichnis eines neu erstellten Benutzers kopiert werden. Wenn Sie also möchten, dass alle neuen Benutzer bestimmte Dateien oder Konfigurationsdateien erhalten, können Sie sie in /etc/skel ablegen.

Beispiel:

sudo cp .bashrc /etc/skel/

Dies stellt sicher, dass alle neu erstellten Benutzer eine Kopie der .bashrc-Datei in ihrem Home-Verzeichnis haben.


Fazit

Die Verwaltung von Benutzern und Gruppen unter Linux ist eine der Kernaufgaben der Systemadministration. Mit den Befehlen useradd, usermod, groupadd und chown können Sie Benutzerkonten und Gruppen effizient verwalten und Berechtigungen für Dateien und Verzeichnisse anpassen. Durch die Kenntnis der Systemdateien /etc/passwd, /etc/shadow und /etc/group haben Sie eine solide Grundlage, um das Verhalten des Systems zu verstehen und anzupassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert