Wie verwende ich setfacl auf einem ZFS-Datensatz, um das Äquivalent von chmod 770 im UNIX-Stil festzulegen?

Wie verwende ich setfacl auf einem ZFS-Datensatz, um das Äquivalent von chmod 770 im UNIX-Stil festzulegen?

Ich versuche, setfacldie Berechtigungen für verschiedene ZFS-Datasets festzulegen und möchte, dass diese ACL-Berechtigungen denen im UNIX-Stil entsprechen chmod 770.

Mit welchem setfacl​​Befehl könnte ich dies erreichen und welche ACLs sollten getfaclangezeigt werden, wenn ich dies richtig machen würde?

Ich verwende FreeNAS 11.0 mit Samba 4.6.4.

Antwort1

Hinweis: Das Folgende stammt von einem Solaris-System, die Ergebnisse sollten aber auch unter BSD funktionieren (wo Sie getfacl/ setfaclstatt ls/ verwenden müssen chmod).


Die Standardberechtigungen eines neu erstellten (Text)DateiSind:

   owner@:rw-p--aARWcCos:-------:allow
   group@:r-----a-R-c--s:-------:allow
everyone@:r-----a-R-c--s:-------:allow

Wenn Sie verwenden chmod 0770 /path/to/file, erhalten Sie:

   owner@:rwxp--aARWcCos:-------:allow
   group@:rwxp--a-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow

Im Wesentlichen wird Ausführen (x) für Besitzer und Gruppe hinzugefügt, Lesen (r) wird von allen entfernt und Schreiben (w) und Anhängen (p) werden der Gruppe hinzugefügt.


Für einVerzeichnissieht es wie folgt aus:

   owner@:rwxp-DaARWcCos:-------:allow
   group@:r-x---a-R-c--s:-------:allow
everyone@:r-x---a-R-c--s:-------:allow

Und nach der Änderung:

   owner@:rwxp-DaARWcCos:-------:allow
   group@:rwxp-Da-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow

Hier werden Lesen (r) und Ausführen (x) für alle entfernt, während Eigentümer und Gruppe über dieselben Berechtigungen wie im Dateifall verfügen, allerdings mit der zusätzlichen Berechtigung „delete_child“ (D) (dies ergibt sich aus der Tatsache, dass es sich um ein Verzeichnis handelt).

verwandte Informationen