Symlinks on clients + SMB >=2 possible?

I use symlinks from a Linux client (it’s required for various software like Nextflow). I’ve been using NFS with sec=sys on my home network, but it needs to go, because the network isn’t fully trusted. sec=sys is effectively authenticating based on the IP address. I don’t have the infrastructure to setup a dedicated VLAN for NFS.

I recently enabled the Apple extensions in SMB sevice settings, and it seemed possible to create symlinks on the client, but checking again today I can’t. Maybe I was wrong the first time, or it’s unstable.

To summarize, I’m looking for:

  • Protocol with authentication support
  • Symlink support

Options:

  • The best option is to get SMB symlinks to work – this is why I’m asking for help.
  • SMBv1 may work, but I think the performance and security is sub-optimal.
  • I could set up a Kerberos realm and use NFS. It may be a good learning experience, but I feel it’s a bit complex for my use case.
  • [Added later in an edit] I also have a small problem with “mfsymlinks”, that I also access the files directly on the TrueNAS server in a container. So if I use mfsymlinks mount option, they would not look like symlinks locally on the TrueNAS server.

Would hardlinks not suffice for what you need? They are supported over SMB, as long as the command involves files within the same share (and dataset).

I use some tools that require symlinks, so hardlinks is not a complete solution for me. My workflow also involves linking to a directory, which is a bit more confusing with hardlinks (though "cp -rl " is pretty handy)

Here is some more information about other systems (it may be interesting, but it’s probably not useful, at least not to me). These were tested with a Mac client, but it’s similar to Linux except that it falls back to mfsymlinks automatically.

  • Windows 2019 server: It creates something that looks like a symlink, and works like a symlink even locally on the windows server.
  • Dell PowerScale: It’s possible to create symlinks with an SMB2 or SMB3.11 session (I get different version outputs on the client and the server). These are real symlinks that are also usable over NFS. This uses Likewise Input Output (lwio), not Samba, so I can’t just copy the config.
  • QNAP: When I create symlinks, they seem to be mfsymlinks only, not real symlinks. There is an option in the config UI to enable symbolic links, but it seems to be for following symbolic links.

I also tried to set an extended option in TrueNAS SMB “smb3 unix extensions = yes”, without any luck.

Given that I didn’t find any examples of samba configs that work with this, I will probably look into a simple Kerberos setup and NFS instead.