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.
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
<[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.