ZFS データセットで setfacl を使用して UNIX スタイルの chmod 770 と同等の設定を行うにはどうすればよいでしょうか?

ZFS データセットで setfacl を使用して UNIX スタイルの chmod 770 と同等の設定を行うにはどうすればよいでしょうか?

setfaclさまざまな ZFS データセットの権限を設定するために を使用しようとしており、それらの ACL 権限を UNIX スタイルと同等にしたいと考えていますchmod 770

setfaclこれを実現できるコマンドは何ですか? また、getfaclこれを正しく実行した場合、どのような ACL が表示されますか?

私はSamba 4.6.4でFreeNAS 11.0を実行しています。

答え1

注: 以下は Solaris システムからのものですが、結果は BSD でも機能するはずです ( /の代わりにgetfacl/ を使用する必要があります)。setfacllschmod


新しく作成された(テキスト)のデフォルトの権限ファイルは:

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

を使用するとchmod 0770 /path/to/file、次のようになります。

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

基本的に、所有者とグループに実行 (x) が追加され、全員から読み取り (r) が削除され、グループに書き込み (w) と追加 (p) が追加されます。


のためにディレクトリ、次のようになります。

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

変更後:

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

ここでは、読み取り (r) と実行 (x) はすべてのユーザーから削除され、所有者とグループはファイルの場合と同じ権限を持ちますが、delete_child (D) 権限が追加されます (これはディレクトリであることに由来します)。

関連情報