Settings for SAMBA Shares to Play Nicely with MacOS

Add the following to the global section:

  min protocol = SMB2
 ea support = yes
 vfs objects = fruit streams_xattr acl_xattr
 fruit:appl = yes
 fruit:metadata = stream
 fruit:model = MacSamba
 fruit:veto_appledouble = no
 fruit:posix_rename = yes
 fruit:zero_file_id = yes
 fruit:wipe_intentionally_left_blank_rfork = yes
 fruit:delete_empty_adfiles = yes
 fruit:locking = netatalk

In the individual shares if you want to use extended attributes, makes sure they are available.

If the share is on ZFS, make sure the volume has xattr set to on or sa. “sa” seems to be the better choice from what little information I have been able to find; it is apparently using ZFS native structures, and is substantially more efficient than “on“). If I can find more definitive information on exactly what the two options mean, I’ll link to it here.

From the zfs man page, it gives you some indication:

When the property xattr=on is set on a file system additional objects will be
created per-file to store extended attributes. These additional objects are
reflected in the userobjused value and are counted against the user’s
userobjquota. When a file system is configured to use xattr=sa no additional
internal objects are normally required.

If the share is on ext4, check to make sure the filesystem has xattr enabled

cat /proc/fs/ext4/<filesystem device>/options | grep xattr

If you get user_xattr, you are good to go.

Add the following to the individual shares:

fruit:resource = xattr 

1 thought on “Settings for SAMBA Shares to Play Nicely with MacOS”

Leave a Comment