我正在测试在两台linux机器之间设置的samba共享,为了测试目的,我需要关闭签名。我的服务器有以下/etc/samba/smb.conf:
[global]
protocol = smb2
client signing = disabled
server signing = disabled
...
[share_dir]
path = /work/share_dir
valid users = root
read only = no我能够从客户端远程连接和运行命令:
root@client-1:~# smbclient //client-2/share_dir <password> -U root -m smb2 --signing=off -c 'rm 1MB.dat.upload.0; put 1MB.dat 1MB.dat.upload.0;'
WARNING: The "syslog" option is deprecated
Domain=[CLIENT-3] OS=[] Server=[]
putting file 1MB.dat as \1MB.dat.upload.0 (5333.3 kb/s) (average 5333.3 kb/s)但是,当对此操作进行跟踪(通过wireshark)时,我可以看到签名并没有像我想要的那样关闭。来自我的客户端的请求具有“已启用签名:真”和“签名必需:假”,并且服务器最终使用“已签名:真”标志进行响应。跟踪是很长的,但是如果有帮助的话,可以发布代码片段。
我能不能像我想要的那样强迫任何人签字?
发布于 2017-07-06 21:34:55
SMB2不允许禁用签名。它只可能是必需的,也可能是不需要的。
有关SMB签名的更多信息,请参见这篇Technet文章。您还可以查看Samba smb.conf手册页以获得更多信息,特别是:
对于SMB2协议,根据设计,不能禁用签名。在协商SMB2的情况下,如果将此参数设置为禁用,它将被视为auto。将其设置为强制性仍然需要SMB2客户端使用签名。
https://serverfault.com/questions/859790
复制相似问题