Add the following to the global section:
min protocol = SMB2
acl_xattr
ea support = yes
vfs objects = fruit streams_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
# Set character set so that international characters are valid
unix charset = UTF-8
dos charset = 866
# Prefer encrypted traffic
server smb encrypt = desired
You can set the min protocol to SMB3 if you are only using Mac clients that are running a relatively recent version of MacOS, or with up to date Windows 10/11 clients.
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”