vfs_nfs4acl_xattr — NTFS の ACLを、NFS4でエンコードしたblob として拡張属性に保存
vfs objects = nfs4acl_xattr
この VFS モジュールは samba(7)システムの一部である。
vfs_acl_xattr
VFS モジュールは NTFS アクセス制御リスト
(ACLs) を拡張属性 (EAs/xattrs) に保存する。これにより、Samba サーバ上で、 Windows ACL
の完全なマッピングが可能になる。
このモジュールはスタック可能である。
NFS4 ACL 上の特別な ID (OWNER@ と GROUP@) の置き換えを制御する。 モード simple の使用を推奨する。 このモードでは、ファイル所有者とグループの非継承 ACL エントリ のみが、特別な ID にマップされる。
以下の MODE はモジュールによって解釈される:
simple(default)
- 非継承 ACE 専用の、 OWNER@ と GROUP@ という特別な ID を使用する。
special(deprecated)
- すべてのファイル所有者とグループ ACE 用に、ACE 中で、 OWNER@ と GROUP@ という特別な ID を使用する。
このパラメータは、NFS4 ACL で検出された重複 ACE を、Samba が処理する方法を設定する。 これらは、同じ ID に対して異なるビットを持つ重複した ACE を作成することができるので、Windows クライアントを混乱させる可能性がある。
以下は、異なった値に対する Samba の挙動である :
dontcare
- 送られてきたとおりに ACE をコピーする
reject (deprecated)
- 操作を停止し、ACL 設定操作でエラーが発生した旨を添えて終了する
ignore (deprecated)
- 2番目に一致するACEを含めない
merge (default)
- 2つの重複 ACE の、2つの ace.flag と 2つの ace.mask フィールドの、ビット単位の OR を取り、1つの ACE にする
このパラメータは、基礎となるファイルシステムでサポートされている chown を 有効または無効にすることを許可する。このパラメータは注意して有効にする必要がある。 システムのセキュリティが低下する可能性があるからである。
ファイルシステムによっては a) 所有権を与えること b) 所有権を取得すること (訳注: a) giving b) stealing) として chown を許可しているものもある。 後者はリスクと考えられている。
以下は、異なる値に対する Samba の動作である:
yes
- ファイルシステムでサポートされている場合は、chown を有効にする
no (default)
- chown を無効にする
このパラメータは、ACL blob 中で使われる marshaling 形式と、 blob に保存する際に使われる既定値の拡張属性名で設定を行う。
nfs に設定すると、NFS 4.0 または 4.1 互換の XDR エンコーディングで、NT ACL を読み取り/保存する。既定でこれは 拡張属性 "system.nfs4_acl" を使う。またこの設定は validate_mode を無効にする。
ndr (既定値) に設定すると、POSIX ドラフト NFSv4 互換 NDR エンコーディングで NT ACL を保存する。既定でこれは、 拡張属性 "security.nfs4acl_ndr" を使う。
xdr に設定すると、XDR エンコーディングで、NFS 4.1 RFC 5661 と同様の形式で NT ACLを保存する。RFC 5661 との主要な違いは、 ユーザとグループ識別子、nfsace4 ごとの追加属性として文字列の代わりに id を使用 することである。既定値では、このエンコーディングは、拡張属性 "security.nfs4acl_xdr" 中に blob を保存する。
このパラメータは、NFS4 ACL レベルを設定する。 41 のみ、NT ACLのマッピングを完全にサポートするので、 これを使うこと。既定値は41である。
このパラメータは、ACL 拡張属性が欠けているファイルやディレクトリに おいて、合成する ACL のタイプを決める。
posixに設定した場合、完全な権限を持つ、 NT Authority\SYSTEMを付けた上で、 ユーザ、グループ、 その他に対し、POSIX モードのパーミッションをベースにして、ACL を合成する。
windowsに設定した場合、所有者に対するパーミッション と、NT Authority\SYSTEM のみを含むという、Windows と 同じやりかたで、ACL を合成する。
everyoneに設定した場合、everyone (S-1-1-0) に対する 完全なパーミッションを与えるように ACL を合成する。
このオプションの既定値はeveryoneである。
このパラメータは、marshaled ACL に保存するときに使われる拡張属性名を 設定する。
既定値は、nfs4acl_xattr:encodingの設定に依存する。
このパラメータは、ネットワーク上で、NFS4サーバが、ユーザおよびグループの識別子を どのようにエンコードするかを指定する。既定値は、user@domain という NFS4のRFC に従った識別子をモジュールは仮定している。
yesに設定すると、モジュールは数字列の識別子 を仮定する。
このオプションの既定値はnoである。
このパラメータは、POSIXのパーミッションを、ディレクトリに対して 0777、 ファイルに対して 0666 に設定する。この制約が満たされない場合、 ACL blob を使う xattr は無視される。
既定値は nfs4acl_xattr:encoding の設定に依存する: nfs に設定した場合、この設定は既定で無効となる。 その他の場合は有効となる。
このモジュールを使って Samba 経由でディレクトリをエクスポートするには 以下のように行う。
[samba_gpfs_share]
vfs objects = nfs4acl_xattr
path = /foo/bar