ACL unter Ubuntu einsetzen: Erweiterte Berechtigungen professionell verwalten

Wer unter Ubuntu mit Benutzern, Gruppen und Dateirechten arbeitet, stößt früher oder später an die Grenzen der klassischen Linux-Berechtigungen. Die bekannten Rechte für Besitzer, Gruppe und andere Benutzer reichen in vielen Alltagssituationen aus. In professionellen Umgebungen gibt es aber oft komplexere Anforderungen. Vielleicht soll ein bestimmter Benutzer auf einen Projektordner zugreifen dürfen, ohne gleich Besitzer der Dateien zu werden. Oder mehrere Teams sollen unterschiedliche Rechte auf denselben Ordner erhalten. Genau hier kommen ACLs ins Spiel. ACL steht für Access Control List und erweitert das normale Linux-Rechtesystem um zusätzliche, sehr flexible Regeln. In diesem Tutorial lernen Sie Schritt für Schritt, wie Sie ACL unter Ubuntu einsetzen, wie Sie erweiterte Berechtigungen professionell verwalten und worauf Sie bei Sicherheit, Übersicht und Praxis achten sollten. Die Erklärungen bleiben leicht verständlich, damit auch Anfänger, IT-Studenten und Linux-Lernende das Thema sicher aufbauen können.

Table of Contents

Was ist eine ACL unter Ubuntu?

ACL ist die Abkürzung für Access Control List. Eine ACL erweitert die normalen Linux-Dateirechte. Standardmäßig kennt Linux drei Ebenen von Berechtigungen:

  • Besitzer
  • Gruppe
  • Andere

Diese Standardrechte sind einfach und schnell, aber manchmal nicht flexibel genug. Wenn Sie zum Beispiel einem einzelnen Benutzer Zugriff auf eine Datei geben möchten, ohne die Gruppe zu ändern, stoßen Sie mit chmod und chown an Grenzen. Mit ACLs können Sie zusätzliche Regeln definieren. So lassen sich einzelne Benutzer oder Gruppen sehr gezielt berechtigen.

Wenn Sie ACL unter Ubuntu einsetzen, verwalten Sie also erweiterte Berechtigungen auf professionellere Weise. Das ist besonders nützlich auf Servern, in Projektordnern, in Schulungsumgebungen und überall dort, wo mehrere Personen mit unterschiedlichen Rechten arbeiten.

Warum ACLs wichtig sind

  • Rechte lassen sich feiner steuern.
  • Einzelne Benutzer können separat berechtigt werden.
  • Mehrere Gruppen können besser berücksichtigt werden.
  • Gemeinsame Arbeitsordner lassen sich sauber verwalten.
  • Die klassische Rechteverwaltung muss nicht ständig umgebaut werden.

Wann reichen normale Linux-Rechte nicht mehr aus?

Die klassische Rechteverwaltung in Ubuntu ist für viele Aufgaben gut geeignet. Es gibt aber typische Situationen, in denen ACLs deutlich besser passen. Ein Beispiel ist ein gemeinsamer Ordner für mehrere Teams. Vielleicht gehört der Ordner einer Hauptgruppe, aber ein zusätzlicher Benutzer aus einem anderen Bereich braucht ebenfalls Schreibzugriff. Mit Standardrechten wäre das oft nur über Gruppenänderungen, Besitzwechsel oder unsaubere Sonderlösungen möglich.

Ein weiteres Beispiel sind Projektordner mit wechselnden Beteiligten. Wenn einzelne Personen zeitweise Zugriff brauchen, sind ACLs oft eleganter als eine komplette Umstrukturierung der Gruppen. Genau deshalb gelten ACLs in Linux als wichtiges Werkzeug für eine professionelle Rechteverwaltung.

Typische Einsatzbereiche für ACL unter Ubuntu

  • Gemeinsame Projektordner
  • Dateiserver mit mehreren Benutzergruppen
  • Entwicklungs- und Testumgebungen
  • Freigaben mit Sonderrechten für einzelne Benutzer
  • Schulungs- und Laborumgebungen

Wie funktionieren ACLs in Ubuntu?

ACLs ergänzen die normalen Dateirechte um zusätzliche Einträge. Neben Besitzer, Gruppe und andere können dann weitere Benutzer oder Gruppen eigene Rechte bekommen. Diese Rechte können wie gewohnt Lesen, Schreiben und Ausführen enthalten. Die ACL ist also eine zusätzliche Ebene der Zugriffskontrolle.

Wichtig ist: ACLs ersetzen die normalen Linux-Rechte nicht vollständig. Sie erweitern sie. Die Datei hat weiterhin einen Besitzer, eine Gruppe und normale Rechte. Die ACL-Einträge kommen zusätzlich dazu. Dadurch bleibt das Linux-System kompatibel, aber gleichzeitig flexibler.

Wichtige ACL-Begriffe

  • user: Rechte für einen bestimmten Benutzer
  • group: Rechte für eine bestimmte Gruppe
  • mask: Maximale effektive Rechte für ACL-Einträge
  • default ACL: Standard-ACL für neu erstellte Dateien und Ordner in einem Verzeichnis

Besonders die mask ist wichtig. Sie begrenzt die tatsächlich wirksamen Rechte bestimmter ACL-Einträge. Deshalb kann es vorkommen, dass eine ACL auf den ersten Blick mehr Rechte zeigt, diese aber durch die Maske eingeschränkt werden.

Prüfen, ob ACL unter Ubuntu verfügbar ist

Bevor Sie ACL unter Ubuntu einsetzen, sollten Sie prüfen, ob die nötigen Werkzeuge vorhanden sind. In vielen Ubuntu-Systemen sind ACL-Funktionen auf modernen Dateisystemen grundsätzlich verfügbar. Für die Verwaltung brauchen Sie meist die Befehle getfacl und setfacl.

Prüfen, ob setfacl installiert ist

which setfacl

Oder:

command -v setfacl

Wenn kein Pfad angezeigt wird, können Sie das Paket installieren.

ACL-Werkzeuge unter Ubuntu installieren

sudo apt update
sudo apt install acl -y

Damit werden die wichtigsten Werkzeuge für die erweiterte Rechteverwaltung eingerichtet.

Prüfen, ob ein Dateisystem ACL unterstützt

In aktuellen Ubuntu-Systemen ist ACL auf gängigen Linux-Dateisystemen wie ext4 meist problemlos nutzbar. In besonderen Umgebungen, zum Beispiel bei älteren Setups oder speziellen Mount-Optionen, kann eine Kontrolle sinnvoll sein. Dafür können Sie die eingebundenen Dateisysteme prüfen.

mount | grep " / "

Oder gezielt einen relevanten Pfad prüfen:

mount | grep /home

Für Anfänger reicht meist die Installation des Pakets acl und ein kurzer Funktionstest mit einer Datei oder einem Ordner.

Normale Dateirechte vor dem ACL-Einsatz verstehen

Bevor Sie mit ACLs arbeiten, sollten Sie die klassischen Linux-Rechte sicher beherrschen. Eine Datei hat normalerweise Rechte für Besitzer, Gruppe und andere Benutzer. Diese werden mit ls -l angezeigt.

Dateirechte anzeigen

ls -l datei.txt

Eine typische Ausgabe könnte so aussehen:

-rw-r----- 1 anna projekt 1200 Mar 19 10:00 datei.txt

Hier darf der Besitzer lesen und schreiben, die Gruppe darf lesen und andere Benutzer haben keinen Zugriff. ACLs kommen dann ins Spiel, wenn diese drei Ebenen nicht ausreichen.

ACL-Einträge anzeigen mit getfacl

Der wichtigste Lesebefehl für ACLs ist getfacl. Damit können Sie sich die erweiterten Berechtigungen einer Datei oder eines Ordners anzeigen lassen. Dieser Befehl ist die Grundlage für Kontrolle und Fehlersuche.

ACL einer Datei anzeigen

getfacl datei.txt

Eine Beispielausgabe kann so aussehen:

# file: datei.txt
# owner: anna
# group: projekt
user::rw-
user:max:r--
group::r--
mask::r--
other::---

Diese Ausgabe zeigt, dass der Benutzer max zusätzlich Leserechte auf die Datei bekommen hat. Genau das wäre mit normalen Rechten oft nicht so elegant lösbar.

Was die Ausgabe bedeutet

  • user:: steht für die Rechte des Besitzers.
  • user:max: ist ein zusätzlicher ACL-Eintrag für den Benutzer max.
  • group:: zeigt die Rechte der Eigentümergruppe.
  • mask:: begrenzt bestimmte ACL-Rechte.
  • other:: steht für alle anderen Benutzer.

ACL setzen mit setfacl

Zum Erstellen und Ändern von ACLs verwenden Sie den Befehl setfacl. Damit können Sie einzelnen Benutzern oder Gruppen zusätzliche Rechte geben. Genau hier zeigt sich die Stärke von ACL unter Ubuntu.

Einem Benutzer Leserechte geben

setfacl -m u:max:r-- datei.txt

Dieser Befehl fügt für den Benutzer max einen ACL-Eintrag mit Leserechten hinzu.

Einem Benutzer Lese- und Schreibrechte geben

setfacl -m u:max:rw- datei.txt

Einer Gruppe Rechte geben

setfacl -m g:projektteam:rwx ordner

Damit erhält die Gruppe projektteam Lese-, Schreib- und Ausführungsrechte auf den Ordner.

Die Änderung kontrollieren

getfacl datei.txt

Nach jeder Änderung sollten Sie die ACL prüfen. So sehen Sie sofort, ob die Regel richtig gesetzt wurde.

ACL-Einträge entfernen

Neben dem Setzen von Rechten ist auch das saubere Entfernen wichtig. Wenn Projektmitglieder wechseln oder Sonderrechte nicht mehr gebraucht werden, sollten ACL-Einträge wieder gelöscht werden. Das hält die Rechteverwaltung übersichtlich und sicher.

Einen ACL-Eintrag für einen Benutzer entfernen

setfacl -x u:max datei.txt

Einen ACL-Eintrag für eine Gruppe entfernen

setfacl -x g:projektteam ordner

Alle erweiterten ACLs entfernen

setfacl -b datei.txt

Mit -b werden die erweiterten ACL-Einträge entfernt. Die normalen Linux-Rechte bleiben bestehen.

ACL rekursiv auf Ordner anwenden

In der Praxis arbeiten Sie oft mit Verzeichnissen, die viele Unterordner und Dateien enthalten. Dann ist es sinnvoll, ACLs rekursiv anzuwenden. So können Sie ganze Projektstrukturen in einem Schritt vorbereiten.

ACL rekursiv für einen Benutzer setzen

setfacl -R -m u:max:rwX /srv/projekt

Das große X ist hier wichtig. Es setzt das Ausführungsrecht nur dort, wo es sinnvoll ist, zum Beispiel bei Ordnern oder bereits ausführbaren Dateien.

ACL rekursiv für eine Gruppe setzen

setfacl -R -m g:projektteam:rwx /srv/projekt

Mit rekursiven Änderungen sollten Sie vorsichtig sein. Prüfen Sie immer genau den Zielpfad, bevor Sie den Befehl ausführen.

Default ACL unter Ubuntu verwenden

Ein besonders wichtiger Bereich der professionellen Rechteverwaltung ist die Default ACL. Sie legt fest, welche ACLs neu erstellte Dateien und Unterordner innerhalb eines Verzeichnisses automatisch bekommen. Das ist in Team-Ordnern sehr nützlich.

Ohne Default ACL kann es passieren, dass neue Dateien zwar im richtigen Ordner liegen, aber nicht die gewünschten Zusatzrechte haben. Mit Default ACL lösen Sie dieses Problem sauber.

Default ACL für einen Benutzer setzen

setfacl -d -m u:max:rwx /srv/projekt

Default ACL für eine Gruppe setzen

setfacl -d -m g:projektteam:rwx /srv/projekt

Alle neuen Dateien und Unterordner in diesem Verzeichnis erben dann diese Standard-ACLs, soweit die Rechte und die Maske das erlauben.

Default ACL anzeigen

getfacl /srv/projekt

In der Ausgabe sehen Sie dann Einträge mit default:.

Die ACL-Maske richtig verstehen

Die mask gehört zu den wichtigsten und zugleich häufig missverstandenen Teilen von ACL. Sie bestimmt die maximal wirksamen Rechte für bestimmte Gruppen- und Benutzer-ACLs. Auch wenn ein Eintrag mehr Rechte zeigt, kann die Maske diese begrenzen.

Ein Beispiel: Sie geben einem Benutzer rwx, aber die Maske steht nur auf r–. Dann ist effektiv nur Lesen möglich. Deshalb sollte man bei ACL-Problemen immer die Maske mitprüfen.

Beispiel einer ACL mit Maske

getfacl datei.txt

Mögliche Ausgabe:

user::rw-
user:max:rwx
group::r--
mask::r--
other::---

Hier hat max zwar formal rwx, aber durch die Maske ist effektiv nur Lesen erlaubt.

Maske anpassen

setfacl -m m:rwx datei.txt

Danach können die gewünschten Rechte wirksam werden, sofern keine anderen Regeln entgegenstehen.

Praktisches Beispiel: Gemeinsamer Projektordner mit ACL

Ein klassischer Einsatzfall für ACL unter Ubuntu ist ein gemeinsamer Projektordner. Angenommen, ein Ordner gehört der Gruppe projektteam, aber zusätzlich soll der Benutzer max vollständigen Zugriff erhalten, obwohl er nicht zur Hauptgruppe gehört.

Projektordner anlegen

sudo mkdir -p /srv/projekt

Besitz und Grundrechte setzen

sudo chown anna:projektteam /srv/projekt
sudo chmod 770 /srv/projekt

Zusätzliche ACL für max setzen

sudo setfacl -m u:max:rwx /srv/projekt

Default ACL für neue Inhalte setzen

sudo setfacl -d -m u:max:rwx /srv/projekt

Mit dieser Lösung bleibt die normale Rechteverwaltung sauber, und gleichzeitig bekommt der Benutzer max den nötigen Zusatz-Zugriff. Genau dafür sind ACLs ideal.

ACL und ls -l richtig lesen

Wenn eine Datei oder ein Ordner ACL-Einträge hat, sehen Sie das oft schon bei ls -l. Dann erscheint hinter der normalen Rechteanzeige ein Pluszeichen.

Beispiel anzeigen

ls -l /srv

Eine Ausgabe könnte so aussehen:

drwxrwx---+ 2 anna projektteam 4096 Mar 19 10:20 projekt

Das + zeigt, dass zusätzliche ACL-Einträge vorhanden sind. Die genauen Details sehen Sie dann mit getfacl.

Unterschied zwischen chmod und ACL

Wer ACL unter Ubuntu professionell verwalten möchte, sollte den Unterschied zwischen klassischen Rechten und ACL genau kennen. chmod arbeitet mit Besitzer, Gruppe und anderen. ACL erweitert dieses Modell. Beide Mechanismen ergänzen sich.

Wann chmod ausreicht

  • Bei einfachen Benutzer- und Gruppenstrukturen
  • Wenn nur Besitzer, Gruppe und andere berücksichtigt werden müssen
  • Bei klaren Standardrechten ohne Sonderfälle

Wann ACL besser ist

  • Wenn einzelne Benutzer Sonderrechte brauchen
  • Wenn mehrere Gruppen differenziert arbeiten sollen
  • Wenn gemeinsame Arbeitsverzeichnisse flexibel verwaltet werden müssen
  • Wenn Default-Rechte für neue Dateien präzise definiert werden sollen

ACL ist also kein Ersatz für Grundwissen zu Linux-Rechten, sondern eine professionelle Erweiterung.

Wichtige Sicherheitsregeln beim Einsatz von ACL

ACLs sind sehr praktisch, können aber auch unübersichtlich werden, wenn zu viele Sonderregeln entstehen. Deshalb sollten Sie ACLs immer bewusst und sparsam einsetzen. Gute Rechteverwaltung bedeutet nicht, möglichst viele Einträge anzulegen. Gute Rechteverwaltung bedeutet, klare, nachvollziehbare und sichere Regeln zu schaffen.

Bewährte Regeln für die Praxis

  • So wenig Sonderrechte wie möglich vergeben.
  • ACLs nur dort einsetzen, wo normale Rechte nicht ausreichen.
  • Rechte regelmäßig mit getfacl prüfen.
  • Projektordner und Team-Freigaben sauber dokumentieren.
  • Rekursive Änderungen nur nach genauer Prüfung ausführen.

Typische Fehler vermeiden

  • ACL setzen, ohne die Maske zu prüfen
  • Zu viele Einzelregeln für viele Benutzer anlegen
  • Default ACL vergessen, obwohl neue Dateien dieselben Rechte erben sollen
  • ACL und normale Rechte nicht zusammen betrachten
  • Rechte ändern, ohne die Auswirkungen im Team zu testen

ACL sichern und wiederherstellen

In größeren Umgebungen kann es sinnvoll sein, ACL-Konfigurationen zu sichern. Das hilft bei Migrationen, Backups oder vor größeren Änderungen. Dafür können Sie die Ausgabe von getfacl in eine Datei schreiben.

ACLs eines Verzeichnisses sichern

getfacl -R /srv/projekt > acl-backup.txt

Diese Datei enthält die ACL-Informationen und kann später zur Analyse oder Wiederherstellung dienen.

ACLs wiederherstellen

setfacl --restore=acl-backup.txt

Gerade in professionellen Umgebungen ist das sehr nützlich, wenn Rechte nach einer Änderung oder Migration erneut gesetzt werden müssen.

ACL in der täglichen Administration sinnvoll nutzen

Für Anfänger ist wichtig zu verstehen, dass ACL kein Werkzeug für jeden einzelnen Ordner sein muss. In vielen Fällen reichen Gruppen und klassische Linux-Rechte. ACLs zeigen ihre Stärke dort, wo es gezielte Ausnahmen oder komplexe Teamstrukturen gibt. Deshalb werden sie oft in gemeinsam genutzten Projektpfaden, Freigaben und speziellen Benutzerkonzepten eingesetzt.

Wenn Sie Ubuntu administrieren, sollten Sie ACLs als Teil eines größeren Rechtekonzepts sehen. Erst kommen Benutzer, Gruppen, Besitzer und Standardrechte. Danach prüfen Sie, ob ACLs an einer bestimmten Stelle mehr Flexibilität bringen. Genau das ist professionelle Rechteverwaltung unter Linux.

Sinnvolle Kombination aus Standardrechten und ACL

  • Normale Rechte für die Grundstruktur verwenden
  • Gruppen für Teams und Rollen nutzen
  • ACLs gezielt für Sonderfälle einsetzen
  • Default ACLs für gemeinsame Arbeitsverzeichnisse definieren
  • Alles regelmäßig kontrollieren und dokumentieren

Nützliche Befehle im Überblick

Wenn Sie ACL unter Ubuntu einsetzen möchten, sollten Sie diese Befehle sicher kennen. Sie gehören zur täglichen Arbeit mit erweiterten Berechtigungen.

ACL-Paket installieren

sudo apt install acl -y

ACL anzeigen

getfacl datei.txt

ACL für Benutzer setzen

setfacl -m u:max:rw- datei.txt

ACL für Gruppe setzen

setfacl -m g:projektteam:rwx ordner

ACL-Eintrag entfernen

setfacl -x u:max datei.txt

Alle erweiterten ACLs entfernen

setfacl -b datei.txt

Default ACL setzen

setfacl -d -m g:projektteam:rwx /srv/projekt

ACL rekursiv anwenden

setfacl -R -m u:max:rwX /srv/projekt

ACL sichern

getfacl -R /srv/projekt > acl-backup.txt

ACL wiederherstellen

setfacl --restore=acl-backup.txt

Typische Lernstrategie für Anfänger

Wenn Sie ACLs neu lernen, ist ein kleiner Testordner die beste Methode. Legen Sie einen Ordner im Home-Verzeichnis an, erstellen Sie ein paar Dateien und probieren Sie getfacl und setfacl in Ruhe aus. Beobachten Sie danach mit ls -l und getfacl, wie sich die Rechte ändern. So wird schnell klar, wie ACLs aufgebaut sind und wo die Unterschiede zu normalen Dateirechten liegen.

Einfacher Testordner für Übungen

mkdir ~/acl-test
cd ~/acl-test
touch datei1.txt
mkdir ordner1
ls -l
getfacl datei1.txt

Danach können Sie einzelne ACLs setzen und sofort kontrollieren. Diese praktische Übung ist besonders hilfreich, wenn Sie die erweiterte Berechtigungsverwaltung unter Ubuntu nicht nur theoretisch, sondern wirklich sicher verstehen möchten.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles