FreeBSD - Samba4 が ZFS ACL を無視する

FreeBSD - Samba4 が ZFS ACL を無視する

私は PC-BSD (FreeBSD) 10 と純粋な ZFS ストレージを実行しているサーバーを持っています。Warden で jail を作成し、Samba 4 をインストールしました。FreeBSD+ZFS セットアップで推奨されている ntvfs と rfc2307 のオプションを使用してドメインをプロビジョニングしました。セットアップでは 2 つの zpool を使用しています。最初の zpool には 1TB ドライブのミラー ペアがあり、オペレーティング システムとセットアップした jail のすべてのボリュームが含まれています。2 番目の zpool には 4TB ドライブのペアが 4 つあり、バルク ストレージを提供します。この 2 番目の zpool から割り当てられたボリュームは jail 化され、Samba 用にセットアップした jail にマウントされます。このセットアップは ACL を除いてすべて正常に動作しています。smb4.conf ファイルに次のオプションを含めました。正しく理解していれば、Samba が ZFS ACL を使用して Windows 権限を保存できるはずです。

vfs オブジェクト = zfsacl
nfs4:mode = special
mfs4:acedup = merge
nfs4:chwon = yes

また、Samba で共有されているすべての ZFS ボリュームに aclmode=passthrough および aclinherit=passthrough を設定しました。しかし、何を試しても、ZFS ACL は無視されます。Samba ユーザーは表示されます (Samba ユーザー名とパスワードを使用してログインでき、ユーザー名がディレクトリ一覧に表示されます)。また、setfacl コマンドを使用して、他の Samba ユーザーの ACL 権限をファイルに割り当てることができます。ただし、Samba は ZFS ACL を完全に無視し、すべての Windows ACL は拡張属性 user.NTACL に格納されています。SSH 経由でログインしたユーザーと Windows 経由で共有にアクセスするユーザーの間でアクセスが一貫しているように、Windows 権限を ZFS ACL に格納したいと思います。

これは、私がどこかで小さいけれども重要なパラメータやオプションを見落とした結果に過ぎないと確信しています。誰かが私を正しい方向に導いてくれることを願っています。私のシステムについてさらに情報が必要な場合は、私に知らせてください。投稿します。

編集

オンラインでさらに数日間徹底的に検索した結果、問題が見つかったようです。S3FS ではなく NTVFS を使用していたのです。数か月前に Samba サーバーをセットアップしていたとき、ZFS が原因でドメイン プロビジョニング スクリプトが失敗するという問題が発生しました。解決策は、さまざまなガイドに記載されているように、「--use-ntvfs」オプションを追加することでした。これは、インストール時に最新だった Samba4 のバージョンに必要なオプションだった可能性がありますが、現在実行しているバージョン (4.0.25) では、zfsacl モジュールが NTVFS で動作しないようです。代わりに S3FS を使用するように smb4.conf ファイルを変更したところ、zfsacl モジュールが突然動作し始めました。

TL;DR - zfsacl モジュールでは NTVFS ではなく S3FS を使用する

関連情報