Section: System Administration tools (8)
Updated: 01/11/2019
Page Index


vfs_nfs4acl_xattr - Save NTFS-ACLs as NFS4 encoded blobs in extended attributes  


vfs objects = nfs4acl_xattr


This VFS module is part of the samba(7) suite.

The vfs_acl_xattr VFS module stores NTFS Access Control Lists (ACLs) in Extended Attributes (EAs/xattrs). This enables the full mapping of Windows ACLs on Samba servers.

This module is stackable.  


nfs4acl_xattr:encoding = [ndr|xdr]

This parameter configures the marshaling format used in the ACL blob and the default extended attribute name used to store the blob.

When set to ndr (default) - store the NT ACL with POSIX draft NFSv4 compatible NDR encoding. By default this uses the extended attribute "security.nfs4acl_ndr".

When set to xdr - store the NT ACL in a format similar to NFS 4.1 RFC 5661 in XDR encoding. The main differences to RFC 5661 are the use of ids instead of strings as users and group identifiers and an additional attribute per nfsace4. By default this encoding stores the blob in the extended attribute "security.nfs4acl_xdr".

nfs4acl_xattr:version = [40|41]

This parameter configures the NFS4 ACL level. Only 41 fully supports mapping NT ACLs and should be used. The default is 41.

nfs4acl_xattr:default acl style = [posix|windows|everyone]

This parameter determines the type of ACL that is synthesized in case a file or directory lacks an ACL extended attribute.

When set to posix, an ACL will be synthesized based on the POSIX mode permissions for user, group and others, with an additional ACE for NT Authority\SYSTEM will full rights.

When set to windows, an ACL is synthesized the same way Windows does it, only including permissions for the owner and NT Authority\SYSTEM.

When set to everyone, an ACL is synthesized giving full permissions to everyone (S-1-1-0).

The default for this option is everyone.

nfs4acl_xattr:xattr_name = STRING

This parameter configures the extended attribute name used to store the marshaled ACL.

The default depends on the setting for nfs4acl_xattr:encoding.



A directory can be exported via Samba using this module as follows:

      m[blue]vfs objects = nfs4acl_xattrm[]
      m[blue]path = /foo/barm[]


The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.