15.11. Zugriffskontrolllisten für Dateisysteme
Zurück | Kapitel 15. Sicherheit | Weiter

## 15.11. Zugriffskontrolllisten für Dateisysteme

Beigetragen von Tom Rhodes.

Zusammen mit anderen Verbesserungen des Dateisystems wie Schnappschüsse bietet FreeBSD auch 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.

### 15.11.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 | Nach oben | Weiter
15.10. OpenSSH | Zum Anfang | 15.12. 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>.