Linux

linux上的smb共享-無法強制不簽名

  • July 6, 2017

我正在測試在兩台 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)進行跟踪時,我可以看到簽名並沒有像我想要的那樣被關閉。來自我的客戶的請求具有“已啟用簽名:True”和“需要簽名:False”,並且伺服器最終以“已簽名:True”標誌響應。跟踪很長,但如果有幫助可以發布片段。

我是否可以像我想要的那樣強制不簽名?

SMB2 不允許禁用簽名。只有可能需要或不需要。

有關 SMB 簽名的詳細資訊,請參閱此 Technet 文章。您還可以查看 Samba smb.conf 手冊頁以獲取更多資訊,特別是:

對於 SMB2 協議,根據設計,不能禁用簽名。在 SMB2 協商的情況下,如果該參數設置為禁用,將被視為自動。將其設置為強制仍需要 SMB2 客戶端使用簽名。

引用自:https://serverfault.com/questions/859790