GeeksforGeeks

Was ist ACL?
Die Zugriffskontrollliste (ACL) bietet einen zusätzlichen, flexibleren Berechtigungsmechanismus für Dateisysteme. Sie wurde entwickelt, um die UNIX-Dateiberechtigungen zu unterstützen. ACL ermöglicht es Ihnen, Berechtigungen für jeden Benutzer oder jede Gruppe für jede Disc-Ressource zu geben.

Verwendung von ACL :
Stellen Sie sich ein Szenario vor, in dem ein bestimmter Benutzer nicht Mitglied einer von Ihnen erstellten Gruppe ist, Sie aber trotzdem Lese- oder Schreibzugriff geben wollen, wie können Sie das tun, ohne den Benutzer zu einem Mitglied einer Gruppe zu machen, hier kommt im Bild Access Control Lists, ACL hilft uns, diesen Trick zu tun.

Grundlegend werden ACLs verwendet, um einen flexiblen Berechtigungsmechanismus in Linux zu machen.

Aus den Linux-Manualseiten geht hervor, dass ACLs verwendet werden, um feinkörnigere, diskretionäre Zugriffsrechte für Dateien und Verzeichnisse zu definieren.

setfacl und getfacl werden zum Einrichten bzw. Anzeigen von ACLs verwendet.

Zum Beispiel :

getfacl test/declarations.h

Ausgabe:

# file: test/declarations.h# owner: mandeep# group: mandeepuser::rw-group::rw-other::r--

Liste der Befehle zum Einrichten der ACL :

1) To add permission for usersetfacl -m "u:user:permissions" /path/to/file2) To add permissions for a groupsetfacl -m "g:group:permissions" /path/to/file 3) To allow all files or directories to inherit ACL entries from the directory it is withinsetfacl -dm "entry" /path/to/dir4) To remove a specific entrysetfacl -x "entry" /path/to/file5) To remove all entriessetfacl -b path/to/file

Zum Beispiel :

setfacl -m u:mandeep:rwx test/declarations.h

Ändern der ACL mit setfacl :
Zum Hinzufügen von Berechtigungen für einen Benutzer (Benutzer ist entweder der Benutzername oder die ID):

# setfacl -m "u:user:permissions" 

Um Berechtigungen für eine Gruppe hinzuzufügen (Gruppe ist entweder der Gruppenname oder die ID):

# setfacl -m "g:group:permissions" 

Um zuzulassen, dass alle Dateien oder Verzeichnisse ACL-Einträge von dem Verzeichnis erben, in dem sie sich befinden:

# setfacl -dm "entry" 

Beispiel :

setfacl -m u:mandeep:r-x test/declarations.h

Siehe untenstehendes Bild für die Ausgabe :

setfacl und getfacl

Ansicht ACL :
Zur Anzeige der Berechtigungen :

# getfacl filename

Beobachten Sie den Unterschied zwischen der Ausgabe des Befehls getfacl vor und nach der Einrichtung der ACL-Berechtigungen mit dem Befehl setfacl.
Es wurde eine zusätzliche Zeile für den Benutzer mandeep hinzugefügt, die im obigen Bild hervorgehoben ist.

Ausgabe:

Ändern Sie die Berechtigungen

Der obige Befehl ändert die Berechtigungen von rwx auf r-x

Entfernen Sie die ACL :
Wenn Sie die gesetzten ACL-Berechtigungen entfernen möchten, verwenden Sie den Befehl setfacl mit der Option -b.
Zum Beispiel:

Entfernen der gesetzten Berechtigungen

Wenn Sie die Ausgabe des Befehls getfacl vor und nach der Verwendung des Befehls setfacl mit der Option -b vergleichen, können Sie feststellen, dass es in der späteren Ausgabe keinen besonderen Eintrag für den Benutzer mandeep gibt.

Sie können auch mit dem Befehl ls überprüfen, ob es zusätzliche Berechtigungen gibt, die durch ACL gesetzt wurden.

Prüfen Sie set acl mit ls

Beobachten Sie die erste Befehlsausgabe im Bild, es gibt ein zusätzliches „+“-Zeichen nach den Berechtigungen wie -rw-rwxr-+, dies zeigt an, dass zusätzliche ACL-Berechtigungen gesetzt sind, die Sie mit dem Befehl getfacl überprüfen können.

Verwendung der Standard-ACL :
Die Standard-ACL ist ein spezieller Typ von Berechtigung, der einem Verzeichnis zugewiesen wird, der die Berechtigungen des Verzeichnisses selbst nicht ändert, sondern dafür sorgt, dass die angegebenen ACLs standardmäßig für alle Dateien gesetzt werden, die darin erstellt werden. Lassen Sie es uns demonstrieren: zuerst werden wir ein Verzeichnis erstellen und ihm mit der Option -d eine Standard-ACL zuweisen:

$ mkdir test && setfacl -d -m u:dummy:rw test
Artikel-Tags :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.