Eine Zugriffssteuerungsliste (ACL) ist eine Liste von Berechtigungen, die einem Objekt zugeordnet sind. ACLs können für Situationen verwendet werden, in denen das herkömmliche Dateiberechtigungskonzept nicht ausreicht. Mit ACLs können Sie einzelnen Benutzern oder Gruppen Berechtigungen zuweisen, auch wenn diese nicht dem Eigentümer oder der Gruppe des Objekts entsprechen.
Beispielsweise benötigen Mitglieder zweier Abteilungsgruppen möglicherweise unterschiedliche Zugriffsebenen auf dieselbe Ressource. Gruppe 1 benötigt möglicherweise R/W/X für ein Verzeichnis, während Gruppe 2 nur R/X-Zugriff benötigt. Durch die Verwendung von ACLs können Sie verschiedenen Benutzern, Gruppen und sogar Prozessen unterschiedliche Zugriffsebenen gewähren. ACLs ermöglichen eine genauere Kontrolle.
Der Befehl getfacl wird verwendet, um die ACLs von Dateien und Verzeichnissen abzurufen. Das grundlegende Ausgabeformat des getfacl-Befehls zeigt Metadaten über das Objekt, einschließlich seines Eigentümers, seiner Gruppe, aller gesetzten SUID/SGID/Sticky-Bit-Flags, der mit dem Objekt verbundenen Standardberechtigungen und der individuellen Berechtigungseinträge für Benutzer und Gruppen.
Wenn Sie sehen möchten, welche ACL mit der Datei verknüpft sind, können wir den Befehl getfacl verwenden. Die Syntax ist ganz einfach:
# getfacl filename
Was die Ausgabe wie folgt ergibt:
# file: filename # owner: geek # group: geek user::rw- user:andy:r-- user:bob:r-- user:james:rwx group::r-- mask::rwx other::r--
Wenn beim Ausführen des getfacl-Befehls der folgende Fehler auftritt:
getfacl: command not found
Sie können versuchen, das folgende Paket gemäß Ihrer Wahl der Distribution zu installieren:
Verteilung | Befehl |
---|---|
Debian | apt-get install acl |
Ubuntu | apt-get install acl |
Alpin | apk acl hinzufügen |
Arch Linux | pacman -S acl |
Kali-Linux | apt-get install acl |
CentOS | yum install acl |
Fedora | dnf install acl |
Raspbian | apt-get install acl |
getfacl-Befehlsbeispiele
1. So erhalten Sie die ACLs einer Datei:
# getfacl /tmp/file.txt
2. So zeigen Sie die Dateizugriffskontrollliste an:
# getfacl -a /tmp/file.txt # getfacl --access /tmp/file.txt
3. So zeigen Sie die Standard-Zugriffskontrollliste an:
# getfacl -d /tmp/file.txt # getfacl --default /tmp/file.txt
4. Um die Anzeige der Kommentarkopfzeile zu vermeiden:
# getfacl -c /tmp/file.txt # getfacl --omit-header /tmp/file.txt
5. So drucken Sie alle Kommentare zu wirksamen Rechten:
# getfacl -e /tmp/file.txt # getfacl --all-effective /tmp/file.txt
6. So vermeiden Sie das Drucken wirksamer Rechte:
# getfacl -E /tmp/file.txt # getfacl --no-effective /tmp/file.txt
7. So überspringen Sie Dateien, die nur die Basis-ACL-Einträge haben:
# getfacl -s /tmp/file.txt # getfacl --skip-base /tmp/file.txt
8. Um die ACLs rekursiv aufzulisten:
# getfacl -R /tmp # getfacl --recursive /tmp
9. Um den symbolischen Links zu folgen:
# getfacl -L /tmp/file.txt # getfacl --logical /tmp/file.txt
10. Um zu vermeiden, den symbolischen Links zu folgen:
# getfacl -P /tmp/file.txt # getfacl --physical /tmp/file.txt
11. So erhalten Sie das tabellarische Ausgabeformat:
# getfacl -t /tmp/file.txt # getfacl --tabular /tmp/file.txt
12. Führende Schrägstriche nicht entfernen:
# getfacl -p /tmp/file.txt # getfacl --absolute-names /tmp/file.txt
13. So listen Sie die numerischen Benutzer- und Gruppen-IDs auf:
# getfacl -n /tmp/file.txt # getfacl --numeric /tmp/file.txt
14. So erhalten Sie die Version von getfacl:
# getfacl -v # getfacl -version
15. Um die Hilfe für getfacl zu erhalten:
# getfacl -h # getfacl --help