Samba

如何使用新的 smbclient 連接到舊的 Samba 伺服器?

  • July 22, 2021

我執行的基於 Linux 的多媒體盒smbd,它的版本報告為3.0.30

smbclient4.10 曾經能夠連接到它,但是,在將客戶端升級到4.13.8後,我NT_STATUS_CONNECTION_DISCONNECTED會在啟動時立即…

我敢肯定,這是由於在最新版本的 Samba 中禁用了某些選項——但是哪一個?我可以通過編輯重新啟用它smb.conf(如何?),還是完全刪除它並且我需要降級客戶端(到 4.12?)?

在調試級別 9,這是我得到的:

Processing section "[global]"
doing parameter raw NTLMv2 auth = yes
lpcfg_do_global_parameter: WARNING: The "raw NTLMv2 auth" option is deprecated
doing parameter lanman auth = yes
lpcfg_do_global_parameter: WARNING: The "lanman auth" option is deprecated
doing parameter ntlm auth = yes
doing parameter log level = auth:1000
doing parameter workgroup = Xxxxxxx
doing parameter server string = Xxxxx Samba Server
doing parameter security = user
doing parameter client use spnego = yes
lpcfg_do_global_parameter: WARNING: The "client use spnego" option is deprecated
doing parameter hosts allow = 192.168.1. 127.
doing parameter load printers = yes
doing parameter guest account = nobody
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 50
doing parameter socket options = SO_RCVBUF=8192 SO_SNDBUF=8192
doing parameter dns proxy = no
doing parameter unix charset = koi8-u
pm_process() returned Yes
lp_servicenumber: couldn't find homes
added interface bce1 ip=192.168.1.8 bcast=192.168.1.255 netmask=255.255.255.0
added interface ib0 ip=192.168.2.11 bcast=192.168.2.255 netmask=255.255.255.0
added interface ib1 ip=192.168.3.11 bcast=192.168.3.255 netmask=255.255.255.0
Netbios name list:-
my_netbios_names[0]="xxxx"
Client started (version 4.13.8).
Opening cache file at /var/db/samba4/gencache.tdb
sitename_fetch: No stored sitename for realm ''
name dune1#20 found.
Connecting to 192.168.1.167 at port 445
Socket options:
       SO_KEEPALIVE = 0
       SO_REUSEADDR = 0
       SO_BROADCAST = 0
       TCP_NODELAY = 0
       TCP_KEEPCNT = 8
       TCP_KEEPIDLE = 7200
       TCP_KEEPINTVL = 75
       IPTOS_LOWDELAY = 0
       IPTOS_THROUGHPUT = 0
       SO_REUSEPORT = 0
       SO_SNDBUF = 8192
       SO_RCVBUF = 8192
       SO_SNDLOWAT = 2048
       SO_RCVLOWAT = 1
       SO_SNDTIMEO = 0
       SO_RCVTIMEO = 0
session request ok
protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED

降級回 4.10 後,上述詳細日誌記錄以正確的密碼提示結束:

Connecting to 192.168.1.167 at port 445
Socket options:
       SO_KEEPALIVE = 0
       SO_REUSEADDR = 0
       SO_BROADCAST = 0
       TCP_NODELAY = 0
       TCP_KEEPCNT = 8
       TCP_KEEPIDLE = 7200
       TCP_KEEPINTVL = 75
       IPTOS_LOWDELAY = 0
       IPTOS_THROUGHPUT = 0
       SO_REUSEPORT = 0
       SO_SNDBUF = 8192
       SO_RCVBUF = 8192
       SO_SNDLOWAT = 2048
       SO_RCVLOWAT = 1
       SO_SNDTIMEO = 0
       SO_RCVTIMEO = 0
session request ok
negotiated dialect[NT1] against server[dune1]
Enter Xxxx\xx's password: 

NT1 方言”是否已從 Samba-4.12 和 4.13 中刪除?我可以通過配置文件重新啟用它嗎?

將以下行添加到 .[global]部分後smb.conf,我能夠讓 Samba-4.13 連接到此設備:

client min protocol = NT1

引用自:https://unix.stackexchange.com/questions/658920