[Samba] Symbolic links not visible on osx 10.10

Markus Doits markus-samba at stellenticket.de
Mon Jan 5 06:08:46 MST 2015


I'm using the latest git 4.2.0 samba version (4.2.0rc4-GIT-93b73bf, to
get latest vfs_fruit module). I noticed the following strange behavior
with OSX clients (10.10.1, 10.10.2 beta):

When they connect using either smb 3.0 or 2.1 (verified on the server
with `smbstatus` and the `version` column `SMB3_00` or `SMB2_10`
respectively), symbolic links pointing at non existent files are not
displayed in the client. So for example I have this folder structure

folder/symlink_existent --> existent_file # shows on the osx client
folder/symlink_nonexistent --> nonexistent_file # hidden in osx client

When I try to remove the folder with `rm -rf` in the osx client it
fails, because it removes all files but the sysmlink on the nonexistent
file (`rm: cannot remove ‘folder/’: Directory not empty`). The folder
shows up empty in the osx client, but on the server the symlink is still

When I switch back to the smb1 protocol by connecting with `cifs://` in
the osx client (`smbstatus` shows version `NT1`), the symlink to the
nonexistent file is displayed as a link and can be followed/deleted.

I cannot test it with a sane client (linux) atm, but I assume this is
because of an implementation failure in the osx samba 2.1 and 3.0
protocol. Is there any workaround to use the newer protocols but make
symlinks behave like they should?

I already tried some options like

follow symlinks = yes
wide links = yes
unix extensions = no

(and different yes/no variations), but symbolic links to nonexistent
files only show up when connecting with NT1 version.

For completeness, here is the share's config:

        path = /server/shares/programs
        valid users = some users
        read only = No
        force create mode = 0660
        force directory mode = 0770
        vfs objects = fruit # tried without fruit vfs, no change
        fruit:encoding = native

Thanks for any help

More information about the samba mailing list