So verwenden Sie Zugriffskontrolllisten zur Steuerung von Dateiberechtigungen unter Linux

Eine sehr nützliche Funktion in Linux sind die „Zugriffskontrolllisten“, die den Zugriff auf Dateien und Verzeichnisse steuern. So funktionieren die Zugriffskontrolllisten, um die Dateiberechtigungen unter Linux zu steuern.
Notiz: Um die Funktionsweise von Zugriffskontrolllisten genau zu verstehen, richten wir zunächst einige Benutzer und Gruppen auf einem funktionierenden Linux-System ein. Die folgende Übung wird auf einer virtuellen Maschine durchgeführt, auf der das Kali-Betriebssystem ausgeführt wird. Der Root-Benutzer hat die Macht, neue Benutzer zum System hinzuzufügen und sie Gruppen zuzuordnen.
Benutzer und Gruppen erstellen
Zuerst melden wir uns als Root an, erstellen Benutzer und ordnen sie den entsprechenden Gruppen zu, wie in der Tabelle unten gezeigt. Um das Konzept besser zu verstehen, wurden den Benutzern einfache Namen gegeben.
john1 John2 john3 | Johns |
jane1 jane2 | Janes |
Wir werden den Befehl adduser verwenden, um neue Benutzer zum System hinzuzufügen.
Der Befehl id zeigt die Details des neu erstellten Benutzers an. Es werden die Benutzer-ID (uid), die Gruppen-ID (gid) und der Gruppenname (groups) angezeigt. Der Benutzer wird bei der Erstellung automatisch einer Gruppe mit demselben Namen wie der Benutzername hinzugefügt. Dieser Benutzer wäre das einzige Mitglied der Gruppe.
Ebenso werden auch die Benutzer „john2“ und „john3“ erstellt.
Adduser John2 Adduser John3Sobald die drei Benutzer erstellt wurden, verwenden Sie den Befehl id, um die jeweiligen Benutzer- und Gruppen-IDs anzuzeigen.
Wir können sehen, dass sich die drei Benutzer in ihren eigenen Gruppen befinden – 1000, 1001 und 1002. Gemäß der zuvor gezeigten Tabelle möchten wir, dass die drei Benutzer in derselben Gruppe sind: johns. Da eine solche Gruppe derzeit auf dem System nicht existiert, erstellen wir sie mit dem Befehl „groupadd“:
groupadd -gDie neue Gruppen-ID wird als 5000 angegeben. Wenn der Schalter -g ignoriert wird, wählt das System automatisch eine Gruppen-ID aus. Der Name der neuen Gruppe ist „Johns“. Jetzt müssen die drei Benutzer „john1“, „john2“ und „john3“ als Mitglieder dieser Gruppe hinzugefügt werden. Für diese Aufgabe verwenden wir den Befehl usermod.
usermod -gusermod fügt den Benutzer „user_name“ zur Gruppe „group_name“ hinzu. Die folgende Abbildung zeigt zunächst die UID und GID für „john1“ vor dem Gruppenwechsel. Nachdem der Befehl „usermod“ erfolgreich ausgeführt wurde, wird „john1“ zur Gruppe „johns“ mit der GID 5000 hinzugefügt.
Der gleiche Vorgang wird für die Benutzer „john2“ und „john3“ durchgeführt.
usermod -g johns john2 usermod -g johns john3Schließlich können Details zu den drei Benutzern in der Gruppe „johns“ mit dem Befehl id angezeigt werden.
Wir haben erfolgreich drei Benutzer erstellt und sie derselben Gruppe hinzugefügt.
In ähnlicher Weise werden die Benutzer „jane1“ und „jane2“ erstellt und der Gruppe „janes“ mit der GID 6000 hinzugefügt. Ihre Details können mit dem Befehl id wie unten gezeigt angezeigt werden.
Wofür werden Zugriffskontrolllisten benötigt?
Nehmen wir an, dass sich der Benutzer „john1“ anmeldet.
erstellt eine neue Datei im Home-Verzeichnis,
und fügt einige Inhalte hinzu.
Mit dem Befehl „thels“ sehen wir uns die Metadaten der Datei an.
Die ersten paar Zeichen in der Ausgabe, -rw-r--r--, sind für die Berechtigungszeichenfolge verantwortlich. Lassen Sie es uns analysieren.
- rw - r - - r - -
Dateityp Berechtigungen, die John1 für die Datei hat Berechtigungen, die Mitglieder der Johns-Gruppe für die Datei haben Berechtigungen für andere, die nicht zu Johns Gruppe gehören Dieser Artikel ist eine gute Einführung in Dateiberechtigungen.
Was passiert, wenn „john1“ als Dateieigentümer zusätzlich nur „john2“ und „jane1“ Schreibberechtigungen erteilen möchte, aber weiterhin Leseberechtigungen für „john3“ und „jane2“ behalten möchte?
rw - r - -
john1
John2
jane1john3
jane2Eine Möglichkeit wäre, eine neue Gruppe mit Lese- und Schreibberechtigungen für „john1“, „john2“ und „jane1“ und eine weitere Gruppe mit nur Leseberechtigungen für „john3“ und „jane2“ zu erstellen. Falls john1 die Berechtigungen für ein Gruppenmitglied weiter ändern möchte, müssen weitere Gruppen erstellt werden. Das Erstellen und Verwalten mehrerer Gruppen ist für den Systemadministrator eine Belastung.
Stattdessen kann für eine Datei eine „Zugriffskontrollliste“ erstellt werden, die klar angibt, welche Vorgänge jeder Benutzer an dieser Datei ausführen kann.
Wie erstelle ich eine Zugriffskontrollliste (ACL) für eine Datei?
Jeder Datei ist bei der Erstellung eine ACL zugewiesen. Um es effizient zu nutzen, muss man es lediglich modifizieren. Nur der Dateieigentümer und der Root-Benutzer können die ACL einer Datei ändern.
Wir können den Befehl getfacl verwenden, um die vorhandene ACL anzuzeigen:
Die mit # beginnenden Zeilen sind Kommentarzeilen. Die eigentlichen Informationen befinden sich in den letzten drei Zeilen der Ausgabe und ähneln der zuvor erhaltenen Berechtigungszeichenfolge. Die Zeile „user“ bezieht sich auf die Berechtigungen, die dem Dateieigentümer „john1“ zugewiesen sind. Die Zeile „group“ bezieht sich auf die Berechtigungen, die anderen Mitgliedern in der Gruppe „johns“ zugewiesen wurden. Wie Sie es erraten haben, bezieht sich die Zeile „Andere“ auf alle anderen Personen außerhalb der Gruppe.
Lassen Sie uns den Befehl setfacl verwenden, um die vorhandene ACL für die Datei zu ändern.
setfacl -m entity:name:permissions
juristische Person
Name
BerechtigungenDer Wert hier gibt an, für wen der ACL-Eintrag bestimmt ist: Benutzer (u) oder Gruppe (g) oder andere (o)
der Name des Benutzers oder der Gruppe, für den der ACL-Eintrag relevant ist Die Lese-, Schreib- und Ausführungsberechtigungen werden durch die Buchstaben r,w,x gekennzeichnet „john2“ erhält zunächst Lese- und Schreibzugriff auf die Datei,
gefolgt von „jane1.“
Sehen wir uns die aktualisierte ACL für „secretfile“ an.
Wir können sehen, dass „john2“ und „jane1“ Lese- und Schreibberechtigungen zugewiesen wurden.
Überprüfung der Authentizität der ACL
Wir können sehen, dass „john2“ die Datei lesen und schreiben kann.
Die von „john2“ eingegebenen neuen Informationen wurden an die Datei angehängt.
Ebenso erhält „jane1“ das gleiche Privileg – Lesezugriff und Schreibzugriff.
Aber „john3“ in derselben Gruppe kann nicht in die Datei schreiben.
„jane2“, der zur anderen Kategorie gehört, kann ebenfalls nicht in die Datei schreiben.
Abschluss
Der gleiche Vorgang kann auch auf Verzeichnisse ausgeweitet werden. Zugriffskontrolllisten ermöglichen es einem Systemadministrator, den Zugriff auf Dateien und Verzeichnisse geschickt zu handhaben.
Schreibe einen Kommentar