Linux-Benutzergruppen und Dateiberechtigungen

LinuxBeginner
Jetzt üben

Einführung

Linux ist ein Mehrbenutzer-Betriebssystem. Das bedeutet, dass mehrere Benutzer gleichzeitig denselben Linux-Computer nutzen können, wobei jeder über seinen eigenen privaten Bereich und eigene Dateien verfügt, während gleichzeitig einige Systemressourcen gemeinsam genutzt werden. Dieses Lab führt Sie in die Grundlagen der Benutzerverwaltung und Dateiberechtigungen unter Linux ein – Konzepte, die für die Systemadministration und Sicherheit von entscheidender Bedeutung sind.

Sie werden diese Themen in einer praktischen Reihenfolge durchlaufen: Benutzer identifizieren, einen Benutzer erstellen, Gruppen verwalten und schließlich Dateibesitz sowie Berechtigungen anpassen. Wenn dies Ihre ersten Schritte mit Linux-Administrationsbefehlen sind, führen Sie jeden Befehl nacheinander aus und vergleichen Sie Ihre Ausgabe mit den Beispielen, bevor Sie fortfahren.

Aktuelle Benutzerinformationen anzeigen

Unter Linux hat jeder Benutzer einen eindeutigen Benutzernamen. Beginnen wir damit, festzustellen, als welcher Benutzer wir aktuell angemeldet sind.

Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:

whoami

Der Befehl whoami ist ein einfaches Werkzeug, das den Benutzernamen des aktuell angemeldeten Benutzers anzeigt.

Sie sollten eine Ausgabe sehen, die in etwa so aussieht:

labex:project/ $ whoami
labex

Dies zeigt an, dass Sie derzeit als Benutzer "labex" angemeldet sind.

Einen neuen Benutzer erstellen

Lassen Sie uns nun einen neuen Benutzer erstellen. Unter Linux erfordert das Erstellen neuer Benutzer administrative Privilegien. Wir verwenden den Befehl sudo, um diese Rechte zu erhalten.

sudo steht für "Superuser Do". Es ermöglicht regulären Benutzern, Befehle als Superuser (oder Root-Benutzer) auszuführen.

Bevor wir einen neuen Benutzer erstellen, lassen Sie uns das Konzept der primären Gruppen besprechen. Unter Linux gehört jeder Benutzer zu einer primären Gruppe und kann mehreren sekundären Gruppen angehören. Die primäre Gruppe wird normalerweise als Gruppenbesitzer für Dateien verwendet, die der Benutzer erstellt.

Wenn Sie einen neuen Benutzer mit adduser erstellen, wird automatisch eine primäre Gruppe für diesen Benutzer mit demselben Namen wie der Benutzername erstellt. Dies wird als UPG-Schema (User Private Group) bezeichnet.

Geben Sie den folgenden Befehl ein, um einen neuen Benutzer namens "jack" zu erstellen:

sudo adduser jack

Dieser Befehl führt folgende Aktionen aus:

  1. Erstellt einen neuen Benutzer namens "jack".
  2. Erstellt eine neue Gruppe namens "jack" (die primäre Gruppe).
  3. Fügt den Benutzer "jack" der Gruppe "jack" als dessen primäre Gruppe hinzu.
  4. Erstellt ein Home-Verzeichnis für jack unter /home/jack.

Sie werden aufgefordert, ein Passwort für jack festzulegen und einige zusätzliche Informationen anzugeben. Sie können ein einfaches Passwort (wie "password") wählen und die Eingabetaste drücken, um die Standardwerte für die anderen Informationen zu übernehmen.

Hinweis: Wenn Sie das Passwort eingeben, werden aus Sicherheitsgründen keine Zeichen auf dem Bildschirm angezeigt – das ist normales Verhalten. Geben Sie einfach Ihr Passwort ein und drücken Sie die Eingabetaste.

Nachdem der Benutzer erstellt wurde, überprüfen wir, ob ein Home-Verzeichnis für jack erstellt wurde, und prüfen jacks primäre Gruppe:

ls /home
id jack

Der Befehl id zeigt Ihnen jacks Benutzer-ID (UID), die primäre Gruppen-ID (GID) und alle sekundären Gruppen an.

Benutzergruppen erkunden

Unter Linux sind Benutzergruppen eine Möglichkeit, mehrere Benutzer für die Berechtigungsverwaltung zu organisieren. Jeder Benutzer hat eine primäre Gruppe und kann mehreren sekundären Gruppen angehören. Lassen Sie uns die Gruppen erkunden, zu denen unser aktueller Benutzer gehört:

id labex

Sie sollten eine Ausgabe sehen, die in etwa so aussieht:

uid=5000(labex) gid=5000(labex) groups=5000(labex),27(sudo),121(ssl-cert),5002(public)

Dies zeigt:

  • Der Benutzer labex hat eine Benutzer-ID (UID) von 5000.
  • Die primäre Gruppe für labex heißt ebenfalls labex und hat eine Gruppen-ID (GID) von 5000.
  • labex gehört zu mehreren sekundären Gruppen, darunter sudo, ssl-cert und public.

Lassen Sie uns nun alle Gruppen auf dem System anzeigen:

cat /etc/group | sort

Der Befehl cat zeigt den Dateiinhalt an, /etc/group ist der Ort, an dem Gruppeninformationen gespeichert sind, und | sort sortiert die Ausgabe alphabetisch.

Um nur Gruppen anzuzeigen, die mit labex in Verbindung stehen, verwenden Sie:

grep "labex" /etc/group

grep ist ein leistungsstarkes Suchwerkzeug. Dieser Befehl sucht in der Gruppendatei nach Zeilen, die "labex" enthalten.

Eine neue Gruppe erstellen und einen Benutzer hinzufügen

Lassen Sie uns eine neue Gruppe namens "developers" erstellen und unseren neuen Benutzer "jack" dieser Gruppe hinzufügen:

Erstellen Sie zuerst die neue Gruppe:

sudo groupadd developers

Fügen Sie nun jack der Gruppe "developers" hinzu:

sudo usermod -aG developers jack

Der Befehl usermod ändert Benutzerkonten. Die Option -aG fügt den Benutzer einer zusätzlichen Gruppe hinzu.

Um zu überprüfen, ob jack nun Mitglied der Gruppe "developers" ist, verwenden Sie:

groups jack

Sie sollten "developers" in der Liste von jacks Gruppen sehen.

Einen Benutzer zur sudo-Gruppe hinzufügen

Nachdem wir den Benutzer jack erstellt haben, geben wir ihm sudo-Privilegien, indem wir ihn zur sudo-Gruppe hinzufügen. Aber zuerst sollten wir verstehen, warum das wichtig ist:

Das Hinzufügen eines Benutzers zur sudo-Gruppe ermöglicht es ihm, Befehle mit Superuser- oder Root-Rechten auszuführen. Dies ist aus mehreren Gründen nützlich:

  1. Sicherheit: Es ermöglicht dem Benutzer, administrative Aufgaben auszuführen, ohne sich als Root-Benutzer anzumelden, was allgemein als Sicherheitsrisiko gilt.
  2. Nachvollziehbarkeit: Wenn Benutzer sudo verwenden, werden ihre Aktionen protokolliert, was einen Prüfpfad für administrative Handlungen bietet.
  3. Komfort: Es entfällt die Notwendigkeit, für gelegentliche administrative Aufgaben zum Root-Benutzerkonto zu wechseln.
  4. Granulare Kontrolle: Die sudo-Konfiguration kann angepasst werden, um bestimmten Benutzern zu erlauben, nur bestimmte Befehle mit erhöhten Rechten auszuführen.

Um jack zur sudo-Gruppe hinzuzufügen, verwenden Sie diesen Befehl:

sudo usermod -aG sudo jack

Dieser Befehl verwendet usermod, um das Benutzerkonto zu ändern. Die Option -aG steht für "append to group" (an Gruppe anhängen), sodass jack zur sudo-Gruppe hinzugefügt wird, ohne ihn aus anderen Gruppen zu entfernen.

Nachdem Sie jack zur sudo-Gruppe hinzugefügt haben, können Sie seine Gruppenmitgliedschaft überprüfen mit:

groups jack

Sie sollten sudo in der Liste von jacks Gruppen sehen.

Indem wir jack zur sudo-Gruppe hinzugefügt haben, haben wir ihm die Möglichkeit gegeben, administrative Aufgaben auf dem System auszuführen. Es ist jedoch wichtig, sich daran zu erinnern, dass mit großer Macht auch große Verantwortung einhergeht. Benutzer mit sudo-Privilegien sollten vertrauenswürdig sein und die Auswirkungen ihrer Handlungen verstehen, da sie potenziell das gesamte System beeinflussen können.

Dateiberechtigungen und Besitzrechte verstehen und bearbeiten

Unter Linux sind Dateiberechtigungen und Besitzrechte entscheidend für die Systemsicherheit. Lassen Sie uns diese Konzepte erkunden und lernen, wie man sie manipuliert.

  1. Untersuchen wir zunächst die aktuellen Berechtigungen im Verzeichnis /home:
ls -l /home

Hinweis: In ls -l ist das zweite Zeichen ein kleiner Buchstabe l (wie in "long"), nicht die Zahl 1.

Sie sehen eine Ausgabe ähnlich dieser:

total 8
drwxr-xr-x 2 jack  jack  4096 Jul 30 10:00 jack
drwxr-xr-x 5 labex labex 4096 Jul 30 09:55 labex

Lassen Sie uns aufschlüsseln, was das bedeutet:

  • Das erste Zeichen gibt den Dateityp an (d für Verzeichnis, - für eine reguläre Datei).
  • Die nächsten 9 Zeichen repräsentieren die Berechtigungen für Besitzer, Gruppe und andere (in dieser Reihenfolge).
  • r steht für Leseberechtigung, w für Schreibberechtigung und x für Ausführungsberechtigung.
  • Der Benutzername nach diesen Zeichen ist der Dateibesitzer, gefolgt vom Gruppenbesitzer.
  1. Erstellen wir nun eine neue Datei und ändern deren Besitzrechte:
touch /home/labex/testfile
ls -l /home/labex/testfile
sudo chown jack:jack /home/labex/testfile
ls -l /home/labex/testfile

Der Befehl touch erstellt eine leere Datei. Anfangs gehört die Datei labex. Wir verwenden dann chown, um den Besitz sowohl für den Benutzer als auch für die Gruppe auf jack zu ändern.

Warum den Besitz ändern? Unter Linux haben Dateibesitzer spezielle Privilegien für ihre Dateien. Durch die Änderung des Besitzes geben wir jack die volle Kontrolle über diese Datei.

  1. Ändern wir abschließend die Berechtigungen der Datei:
sudo chmod 750 /home/labex/testfile
ls -l /home/labex/testfile

Der Befehl chmod ändert die Berechtigungen der Datei. Die Zahl 750 ist eine Kurzschreibweise zum Festlegen der Berechtigungen:

  • 7 (Besitzer): Lesen (4) + Schreiben (2) + Ausführen (1) = 7
  • 5 (Gruppe): Lesen (4) + Ausführen (1) = 5
  • 0 (Andere): Keine Berechtigungen

Dieser Berechtigungssatz bedeutet:

  • Der Besitzer (jack) kann die Datei lesen, schreiben und ausführen.
  • Mitglieder der Gruppe jack können die Datei lesen und ausführen.
  • Andere haben keine Berechtigungen für die Datei.

Warum diese Berechtigungen festlegen? Dies ist ein gängiger Berechtigungssatz, der dem Besitzer vollen Zugriff gewährt, der Gruppe begrenzten Zugriff gibt und den Zugriff für alle anderen einschränkt. Es ist ein Gleichgewicht zwischen Benutzerfreundlichkeit und Sicherheit.

Das Verständnis von Dateiberechtigungen und Besitzrechten ist unter Linux unerlässlich. Es ermöglicht Ihnen zu kontrollieren, wer Dateien lesen, ändern oder ausführen kann, was grundlegend für die Systemsicherheit und den Datenschutz der Benutzer ist. Während Sie weiterhin mit Linux arbeiten, werden Sie diese Befehle häufig verwenden, um den Zugriff auf Dateien und Verzeichnisse zu verwalten.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu Linux-Benutzergruppen und Dateiberechtigungen abgeschlossen. Sie haben gelernt:

  1. Benutzerinformationen anzuzeigen.
  2. Neue Benutzer zu erstellen und primäre Gruppen zu verstehen.
  3. Benutzergruppen zu erkunden und zu ändern.
  4. Neue Gruppen zu erstellen und Benutzer hinzuzufügen.
  5. Benutzern sudo-Privilegien zu erteilen.
  6. Dateiberechtigungen anzuzeigen und zu verstehen.
  7. Dateibesitzrechte zu ändern.
  8. Dateiberechtigungen anzupassen.

Diese Fähigkeiten sind grundlegend für die Verwaltung von Benutzern und die Absicherung von Dateien in einer Linux-Umgebung. Auf Ihrem weiteren Weg mit Linux werden Sie feststellen, dass diese Konzepte für die Systemadministration und Sicherheit unerlässlich sind.