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.
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.