Skip to content

Interoperability with Samba

Daniel Markstedt edited this page Sep 7, 2025 · 3 revisions

Configure Netatalk and Samba

Recent Netatalk (v3 and later) and Samba can store metadata in a compatible format.

Using this way, the following access becomes possible.

  • from Mac to Netatalk
  • from Mac to Samba
  • from Windows to Samba

WARNING: The ea = samba format and ea = sys (default) metadata formats are NOT mutually compatible, and there currently isn't a way to convert between the two.

You have to pick one when setting up a new volume and stick with it.

Netatalk

Using vol preset option, the same configuration is set for all volumes.

Using ea = samba, Extended Attributes become compatible with Samba.

Edit /usr/local/etc/afp.conf.

Ex:

[Global]

   vol preset = my default values

[my default values]

   ea = samba

[Homes]

   basedir regex = /home

[Test Volume]

   path = /export/test1

[My Time Machine Volume]

   path = /export/timemachine
   time machine = yes

Samba

Setting various options in [global], the same configuration is set for all shares.

Three vfs objects (catia, fruit and streams_xattr) provide enhanced compatibility with Apple SMB clients and interoperability with a Netatalk.

Using hide files, the invisible files created via Netatalk are hidden from Windows. Use hide files, not veto files.

Don't use fruit:locking = netatalk because it has a bug.

Edit /etc/samba/smb.conf.

Ex:

[global]

   ea support = Yes
   vfs objects = catia fruit streams_xattr`

   fruit:encoding = native
   streams_xattr:prefix = user.
   streams_xattr:store_stream_type = no`

   hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/

   read only = No

[homes]

[Test Volume]

   path = /export/test1

[My Time Machine Volume]  
path = /export/timemachine  
Clone this wiki locally