vfs_acl_xattr — 拡張属性 (EA) に NTFS のアクセス許可を保存
vfs objects = acl_xattr
このVFSモジュールは samba(7)システムの一部である。
vfs_acl_xattr
VFSモジュールは、
拡張属性 (EA) に NTFS のアクセス許可 (ACL) を格納する。
これにより、 Samba サーバーで NTFS のアクセス許可を
完全に実装することが可能となる。
アクセス許可は、ファイルやディレクトリの
security.NTACL
拡張属性に格納される。
この属性は、
getfattr -d
で
表示 できない。
現在の値を表示するためには、EA 名を指定する必要がある (たとえば、
filename
getfattr -n security.NTACL
) 。
filename
このモジュールは以下のパラメータを強制的に設定する。
inherit acls = true
dos filemode = true
force unknown acl user = true
このモジュールはスタック可能である。
このオプションは、NTACL 拡張属性 (xattr) の既定の位置を再定義する。 設定がない場合、NTACL xattr は保護された場所である security.NTACL に 書き込まれる。すなわち、security.NTACL 属性の内容は、Samba 以外の 通常のユーザからはアクセス出来ない。たとえば、user.NTACL などの、 ユーザ定義の値を使用するように、このオプションを設定した場合、 すべてのユーザがこの情報に対して、アクセスし、上書きできる可能性が ある。モジュールは、SMB 上でこの xattr へのアクセスを抑止するが、 xattr は他の方法 (たとえばローカルアクセス、SSH、 NFS など)で アクセスされる可能性がある。このオプションは、この結果が明確に理解 していて、ACL の内容が、損なわれることを防ぐための、特別な予防処置が 取られている場合にのみ、使う必要がある。
このパラメーターを yes に設定した場合、 このモジュールは、可能な範囲で実施しているシステムの ACL とのマッピング 処理を無効化する。デフォルトの no の場合、 Samba はシステムの ACL と NTFS のアクセス許可の 両方に対して設定を行い、またアクセス可否の確認を実施する。 ローカルまたは NFS 経由でのファイルアクセスのために、システムの ACL も 設定しておく必要がある場合は、この設定が望ましいであろう。 Samba 経由以外でファイルアクセスを行わない場合は、このパラメーターを yes にすることで、 NTFS のアクセス許可との互換性を高めることができる。
もしも、acl_xattr:ignore system aclsを yesに設定した場合、以下の設定が、 強制的に追加される。
create mask = 0666
directory mask = 0777
map archive = no
map hidden = no
map readonly = no
map system = no
store dos attributes = yes
posixに設定した場合、 NT Authority\SYSTEM がすべての権限を持つ 追加の ACE を付けた形で、ユーザ、グループとその他の、 POSIX モードパーミッションに基づいた ACL が合成される。
windowsに設定した場合、Windows が行うのと 同じ方法で ACL は合成されるが、所有者と、 NT Authority\SYSTEM に対するパーミッション のみを含む。
everyoneに設定した場合、ACL は、 everyone (S-1-1-0) に対する完全なパーミッション が合成される。
このオプションの既定値は posixである。