Erweitertes Rechtesystem
Bash | Dateisystem & Rechte

Modul 2: Kommandozeile, Rechte & Dateisystem

Erweitertes Rechtesystem

Über chmod und chown hinaus: Einsatz von ACLs (Access Control Lists) für feingranulare Berechtigungen in Multi-Tenant- oder Team-Umgebungen

★★★★★💬 0
Von Armin Hünniger • 11. Oktober 2026
Wenn du deinen Linux-Server alleine nutzt, reicht das klassische Rechtesystem mit Besitzer, Gruppe und „dem Rest der Welt“ völlig aus. Doch sobald du im Team arbeitest, stößt dieses System schnell an seine Grenzen. Stell dir vor, du hast ein Projektverzeichnis:...

Einführung

Wenn du deinen Linux-Server alleine nutzt, reicht das klassische Rechtesystem mit Besitzer, Gruppe und „dem Rest der Welt“ völlig aus. Doch sobald du im Team arbeitest, stößt dieses System schnell an seine Grenzen. Stell dir vor, du hast ein Projektverzeichnis: Du möchtest deiner Kollegin Sarah volle Lese- und Schreibrechte geben, dem Praktikanten Tom jedoch nur Leserechte einräumen. Beide einfach in dieselbe Benutzergruppe zu stecken, löst das Problem nicht.

In diesem Beitrag schauen wir uns an, warum chmod und chown für komplexe Szenarien nicht ausreichen und wie du mit Access Control Lists (ACLs) feingranulare, maßgeschneiderte Berechtigungen für einzelne Nutzer und Gruppen erstellst.

Die Grenzen des Standard-Rechtesystems

Zur kurzen Wiederholung: Jede Datei und jeder Ordner unter Linux hat genau einen Besitzer (User) und ist genau einer Gruppe (Group) zugeordnet. Die Rechte werden in drei Kategorien (Lesen, Schreiben, Ausführen) vergeben.

# Zeigt die Rechte einer Datei an
ls -l projekt_doku.txt
# Ausgabe z. B.: -rw-r--r-- 1 armin entwickler 1024 Okt 12 10:00 projekt_doku.txt

Das Problem an diesem "UGO-Modell" (User, Group, Others) ist seine Inflexibilität. Es gibt schlichtweg keine Möglichkeit, einem zweiten, völlig unabhängigen Benutzer spezifische Rechte für diese Datei zu geben, ohne ihn entweder in die Gruppe entwickler aufzunehmen oder die Datei für die komplette Welt (Others) freizugeben. Genau hier kommen ACLs ins Spiel.

Die Lösung: Access Control Lists (ACLs)

Mit ACLs (Zugriffskontrolllisten) kannst du beliebig vielen Benutzern und Gruppen individuelle Rechte auf ein und dieselbe Datei oder einen Ordner geben. Es ist das Standard-Werkzeug für Multi-Tenant-Server (Server mit vielen Kunden) oder größere Entwicklerteams.

1. ACL-Werkzeuge installieren

Die meisten modernen Linux-Dateisysteme (wie ext4) unterstützen ACLs von Haus aus. Wir müssen lediglich die Kommandozeilen-Tools installieren, um sie zu bedienen:

# Die ACL-Werkzeuge installieren
sudo apt update
sudo apt install acl

2. Rechte präzise setzen mit setfacl

Spielen wir unser Szenario von oben durch. Wir haben den Ordner /var/www/projekt. Wir nutzen den Befehl setfacl (Set File Access Control List), um unsere Regeln zu definieren.

Parameter Bedeutung
-m Modify: Eine neue ACL-Regel hinzufügen oder eine bestehende ändern.
u:name:rechte User: Dem angegebenen Benutzer (name) die definierten Rechte geben.
g:name:rechte Group: Der angegebenen Gruppe die definierten Rechte geben.
-x Remove: Eine spezifische ACL-Regel wieder löschen.
-b Base: Alle ACL-Regeln auf einen Schlag entfernen (Reset).
# 1. Sarah volle Rechte (Read, Write, Execute) auf den Ordner geben
sudo setfacl -m u:sarah:rwx /var/www/projekt/

# 2. Tom nur Lese- und Ausführungsrechte (Ordner betreten) geben
sudo setfacl -m u:tom:r-x /var/www/projekt/

# 3. Den Nutzer "praktikant" komplett aussperren (keine Rechte)
sudo setfacl -m u:praktikant:--- /var/www/projekt/

Wenn du nach dem Setzen von ACLs ein normales ls -l ausführst, fällt dir am Ende der Rechte-Kette ein kleines Pluszeichen auf (z. B. drwxr-xr-x+). Dieses Plus ist der extrem wichtige Hinweis für dich als Admin: Achtung, hier wirken versteckte ACL-Regeln!

3. ACL-Regeln prüfen mit getfacl

Um herauszufinden, wer wirklich Zugriff auf eine Datei hat, reicht ls -l nun nicht mehr aus. Nutze stattdessen getfacl:

# ACL-Regeln des Ordners auslesen
getfacl /var/www/projekt/

Die Ausgabe zeigt dir nun übersichtlich und detailliert, welcher Nutzer (user:sarah:rwx) welche Rechte besitzt.

Der Profi-Tipp: Vererbung durch Default-ACLs

Wenn Sarah nun eine neue Datei in /var/www/projekt/ erstellt, gehört diese Datei ihr. Tom hätte standardmäßig keinen Zugriff auf diese neu erstellte Datei, da die ACLs des übergeordneten Ordners nicht automatisch auf neue Dateien übertragen werden.

Um das zu ändern, setzen wir sogenannte Default-ACLs auf den Ordner. Das erreichst du durch den zusätzlichen Schalter -d (Default):

# Setzt die Regel als Standard für alle KÜNFTIGEN Dateien in diesem Ordner
sudo setfacl -d -m u:tom:r-x /var/www/projekt/

# Sarah automatisch Lese-/Schreibrechte auf alle künftigen Dateien geben
sudo setfacl -d -m u:sarah:rw- /var/www/projekt/

Ab sofort erben alle neuen Dateien und Ordner, die in diesem Verzeichnis angelegt werden, automatisch genau diese Berechtigungsstruktur. Ein absoluter Gamechanger für gemeinsame Dateiablagen (Shares) oder Webserver-Verzeichnisse!

Mit Access Control Lists brichst du aus dem starren "Besitzer-Gruppe-Alle"-Modell von Linux aus. setfacl und getfacl geben dir die nötige chirurgische Präzision, um selbst hochkomplexe Team-Strukturen und Berechtigungskonzepte sicher und verlässlich abzubilden.

Ausblick: Nachdem wir unsere Dateien nun sicher verwahrt haben, wollen wir uns im nächsten Kapitel ansehen, wie wir deren Inhalte analysieren. Wir tauchen tief in die Textverarbeitung in der Pipe ein und entfesseln die Magie von grep, awk und sed.

Diesen Impuls teilen:

Bewertung

★★★★★💬 0
Anmelden zum Bewerten

Kommentare

Noch keine Kommentare.

Anmelden, um zu kommentieren.