Symlinks on my samba share aren't behaving the way I want them to – specifically, the links look like duplicate regular files to the client machine. This used to work (i.e. symlinks on the server looked like symlinks on the client), but at some point it stopped. So I assume it's related to the samba version somehow, but I've never found a combination that works.
Is it even possible to have symlinks work "like symlinks" on samba clients? If so, how?
Here's my setup.
Server: Synology NAS serving up a share via samba
------server smb.conf-------
[global]
unix extensions=no
follow symlinks=yes
wide links=yes
allow insecure wide links=yes
Client: Ubuntu 16.04 machine, mounting the share with the following command
sudo mount -t cifs -o vers=3.0 -o user=<myuser> //server/sharename /mnt/mountpoint
With the share mounted, here's what I do next:
On the server
$ echo "HELLO WORLD" > file-created-on-server.txt
$ ln -s file-created-on-server.txt symlink-created-on-server.txt
$ ls -iog
75852 -rwxrwxrwx+ 1 12 Jul 19 20:16 file-created-on-server.txt
75859 lrwxrwxrwx+ 1 25 Jul 19 20:53 symlink-created-on-server.txt -> file-created-on-server.txt
So obviously that's a symlink. However, if I then do...
On the client
$ ls -iog
total 8
75852 -rwxr-xr-x 1 12 Jul 19 21:16 file-created-on-server.txt
75852 -rwxr-xr-x 1 12 Jul 19 21:16 symlink-created-on-server.txt
I expected symlink-created-on-server.txt to look like a symlink. But it doesn't. It looks like a duplicate of the original file – they even have the same inode number on the client, but not the server.
What is going on here? Is there a way to make symlinks just look like symlinks? I've read things about security issues with samba and symlinks, and I imagine that might be the reason the behavior changed, but I've never found a clear explanation – and in this case I don't care about the security implications.