客户端无法在 Samba 共享上创建符号链接

tom*_*mpi 14 linux samba symbolic-link network-shares

正如许多关于 samba 共享和符号链接的问题的答案所推荐的那样,我已经尝试明确启用“跟随符号链接”(尽管文档说默认情况下它是打开的)以及启用“宽链接”和“允许不安全的宽链接”(尽管这些与指向共享文件夹外部的符号链接有关,并且没有打开或关闭符号链接)...通过修改这些设置尚未启用符号链接创建。

Samba 共享由 Debian 8 主机提供,并从 Debian 9 客户端访问。

这是我尝试在已安装共享中创建符号链接时获得的输出示例:

$ touch hello.txt
$ ln -s hello.txt hello.sl
ln: failed to create symbolic link ‘hello.sl’: Operation not supported
Run Code Online (Sandbox Code Playgroud)

我的想法和搜索结果用完了,所以欢迎任何输入。

编辑 1:

主机 smb.conf:

[global]
security = USER
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
server min protocol = SMB2
client min protocol = SMB2
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb

[share_name]
path = /path/to/folder
force user = hostusername
force group = hostgroupname
read only = No
force create mode = 0660
force directory mode = 0770
case sensitive = Yes
Run Code Online (Sandbox Code Playgroud)

客户端挂载命令:

sudo mount -t cifs //ip.add.re.ss/share_name /path/to/mount -o username=hostusername,vers=3.0,uid=clientusername,gid=clientgroupname,soft,rsize=8192,wsize=8192
Run Code Online (Sandbox Code Playgroud)

tom*_*mpi 32

感谢@grawity 暗示我的问题可能与协议版本有关。我找到了一个解决方案,通过向mfsymlinksmount 命令添加选项来启用与 SMB3 的符号链接,如下所示:

sudo mount -t cifs //ip.add.re.ss/share_name /path/to/mount -o username=hostusername,vers=3.0,uid=clientusername,gid=clientgroupname,soft,rsize=8192,wsize=8192,mfsymlinks
Run Code Online (Sandbox Code Playgroud)

我不完全理解普通符号链接和 Minshall+French 符号链接之间的区别,但它似乎适用于我的情况。

来源:
https
: //www.systutorials.com/docs/linux/man/8-mount.cifs/https: //wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks)。


小智 5

这种方式对我有用:

sudo mount -t cifs -o user=user,pass=pass,vers=3.0,uid=987,gid=0,soft,rsize=8192,wsize=8192,mfsymlinks //10.10.10.10/git /var/opt/gitlab/git-data/repositories