在正常操作中,当在 Samba 服务器上启用 unix 扩展时,允许服务器遵循共享路径之外的符号链接的选项宽链接会自动禁用。这样做是出于安全目的,以防止 UNIX 客户端创建指向管理员不希望导出的服务器文件系统区域的符号链接。
将 allow insecure wide links 设置为 true 会禁用这两个参数之间的链接,删除此保护并允许站点配置服务器以遵循符号链接(通过将宽链接设置为“true”),即使打开了 unix 扩展。
根据手动设置allow insecure wide links = yes应该足以允许共享路径之外的符号链接但是它对我不起作用,除非我设置unix extensions = no.
testparm 甚至没有显示这个变量?!
# testparm -s
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
[global]
workgroup = test
server string = SambaBox
syslog = 0
log file = /var/log/samba/smb.log
max log size = 50
smb ports = 139
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
load printers = No
printcap name = /dev/null
disable spoolss = Yes
show add printer wizard = No
idmap config * : backend = tdb
[Public]
comment = Public
path = /data/Public
valid users = smbguest
create mask = 0644
force create mode = 0644
force directory mode = 0755
map archive = No
wide links = Yes
Run Code Online (Sandbox Code Playgroud)
如果您启用了宽链接支持但它不起作用,SELINUX 可能会阻止您。
尝试发出setenforce 0并重新测试您的配置。如果有效,那么您就找到了问题的根源。
如果这不起作用,请在 [global] 部分添加:
然后重新启动 samba 并重新尝试您的测试用例。