Das FreeBSD-Handbuch
Zurück | Kapitel 14. Sicherheit | Weiter

# 14.12. Zugriffskontrolllisten für Dateisysteme

Beigetragen von Tom Rhodes.

Zusammen mit anderen Verbesserungen des Dateisystems wie Schnappschüsse gibt es ab FreeBSD 5.0 Zugriffskontrolllisten (access control list, ACL).

Zugriffskontrolllisten erweitern die normalen Zugriffsrechte von UNIX® Systemen auf eine kompatible (POSIX®.1e) Weise und bieten feiner granulierte Sicherheitsmechanismen.

Zugriffskontrolllisten für Dateisysteme werden mit der nachstehenden Zeile in der Kernelkonfiguration aktiviert:

    options UFS_ACL

Diese Option ist in der `GENERIC`-Konfiguration aktiviert. Das System gibt eine Warnung aus, wenn ein Dateisystem mit ACLs eingehangen werden soll und die Unterstützung für ACLs nicht im Kernel aktiviert ist. Das Dateisystem muss weiterhin erweiterte Attribute zur Verfügung stellen, damit ACLs verwendet werden können. Das neue UNIX-Dateisystem UFS2 stellt diese Attribute standardmäßig zur Verfügung.

> Anmerkung: Die Konfiguration erweiterter Attribute auf UFS1 ist mit einem höheren Aufwand als die Konfiguration erweiterter Attribute auf UFS2 verbunden. Zudem ist UFS2 mit erweiterten Attributen leistungsfähiger als UFS1. Zugriffskontrolllisten sollten daher mit UFS2 verwendet werden.

Die Angabe der Option `acl` in `/etc/fstab` aktiviert Zugriffskontrolllisten für ein Dateisystem. Die bevorzugte Möglichkeit ist die Verwendung von Zugriffskontrolllisten mit tunefs(8) (Option `-a`), im Superblock des Dateisystems festzuschreiben. Diese Möglichkeit hat mehrere Vorteile:

- Nochmaliges Einhängen eines Dateisystems (Option `-u` von mount(8)) verändert den Status der Zugriffskontrolllisten nicht. Die Verwendung von Zugriffskontrolllisten kann nur durch Abhängen und erneutes Einhängen eines Dateisystems verändert werden. Das heißt auch, dass Zugriffskontrolllisten nicht nachträglich auf dem Root-Dateisystem aktiviert werden können.

- Die Zugriffskontrolllisten auf den Dateisystemen sind, unabhängig von den Option in `/etc/fstab` oder Namensänderungen der Geräte, immer aktiv. Dies verhindert auch, dass Zugriffskontrolllisten aus Versehen auf Dateisystem ohne Zugriffskontrolllisten aktiviert werden und durch falsche Zugriffsrechte Sicherheitsprobleme entstehen.

> Anmerkung: Es kann sein, dass sich der Status von Zugriffskontrolllisten später durch nochmaliges Einhängen des Dateisystems (Option `-u` von mount(8)) ändern lässt. Die momentane Variante ist aber sicherer, da der Status der Zugriffskontrolllisten nicht versehentlich geändert werden kann. Allgemein sollten Zugriffskontrolllisten auf einem Dateisystem, auf dem sie einmal verwendet wurden, nicht deaktiviert werden, da danach die Zugriffsrechte falsch sein können. Werden Zugriffskontrolllisten auf einem solchen Dateisystem wieder aktiviert, werden die Zugriffsrechte von Dateien, die sich zwischenzeitlich geändert haben, überschrieben, was zu erneuten Problemen führt.

Die Zugriffsrechte einer Datei werden durch ein `+` (Plus) gekennzeichnet, wenn die Datei durch Zugriffskontrolllisten geschützt ist:

    drwx------  2 robert  robert  512 Dec 27 11:54 private
    drwxrwx---+ 2 robert  robert  512 Dec 23 10:57 directory1
    drwxrwx---+ 2 robert  robert  512 Dec 22 10:20 directory2
    drwxrwx---+ 2 robert  robert  512 Dec 27 11:57 directory3
    drwxr-xr-x  2 robert  robert  512 Nov 10 11:54 public_html

Die Verzeichnisse `directory1`, `directory2` und `directory3` sind durch Zugriffskontrolllisten geschützt, das Verzeichnis `public_html` nicht.

## 14.12.1. Zugriffskontrolllisten benutzen

Das Werkzeug getfacl(1) zeigt Zugriffskontrolllisten an. Das folgende Kommando zeigt die ACLs auf der Datei `test`:

    % getfacl test
        #file:test
        #owner:1001
        #group:1001
        user::rw-
        group::r--
        other::r--

Das Werkzeug setfacl(1) ändert oder entfernt ACLs auf Dateien. Zum Beispiel:

    % setfacl -k test

Die Option `-k` entfernt alle ACLs einer Datei oder eines Dateisystems. Besser wäre es, die Option `-b` zu verwenden, da sie die erforderlichen Felder beibehält.

    % setfacl -m u:trhodes:rwx,g:web:r--,o::--- test

Mit dem vorstehenden Kommando werden die eben entfernten Zugriffskontrolllisten wiederhergestellt. Der Befehl gibt die Fehlermeldung “`Invalid argument`” aus, wenn Sie nicht existierende Benutzer oder Gruppen als Parameter angeben.

Zurück | Zum Anfang | Weiter
OpenSSH | Nach oben | Sicherheitsprobleme in Software Dritter überwachen

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.