我正在testing两台linux机器之间build立的samba共享,为了testing的目的我需要closures签名。 我的服务器有以下/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(tracehark)进行这个操作时,我可以看到签名没有像我想要的那样被closures。 来自我的客户的请求有'Signing enabled:True'和'Signing required:False',并且服务器最终响应'Signed:True'标志。 痕迹很长,但可以张贴片段,如果这将是有益的。
我能不能像我想要的那样强行签名?
SMB2不允许禁用签名。 它只是可能被要求或不要求。
有关SMB签名的更多信息,请参阅此Technet文章 。 您还可以查看Samba smb.conf手册页以获取更多信息,具体为:
对于SMB2协议,按照devise,签名不能被禁用。 在协商SMB2的情况下,如果此参数设置为禁用,则将被视为自动。 将其设置为必填项仍然需要SMB2客户端使用签名。