较旧的 CIFS 无法从 Samba-4 服务器挂载共享

较旧的 CIFS 无法从 Samba-4 服务器挂载共享

我有一个媒体播放器,它曾经可以毫无问题地连接到运行 Samba 的主计算机。它运行的是旧版本的嵌入式 Linux(内核 2.6.22.19-27)并具有 CIFS。

在我升级服务器上的 Samba 软件后(目前在 FreeBSD-10.4 上运行的 samba-4.6.8),播放器失去了这种能力——它仍然可以列表相同的出口份额,但不能再打开任何事情:“错误的凭证”。

我手机上支持 SMB 的应用程序可以正常打开相同的文件夹(使用相同的凭据)...

我是否需要明确打开服务器来启用某种与旧客户端的兼容模式?

更新:根据@Tin的建议,我在部分添加了以下行[global]smb4.conf不幸 max protocol = NT1 的是,这并没有改变一切——我仍然可以从大多数系统连接除了媒体播放器仍然告诉我,我的凭证无效。

tcpdump服务器上我捕获了以下交换:

    SMB PACKET: SMBnegprot (REQUEST)
    SMB Command   =  0x72
    Error class   =  0x0
    Error code    =  0 (0x0)
    Flags1        =  0x0
    Flags2        =  0x1
    Tree ID       =  0 (0x0)
    Proc ID       =  1283 (0x503)
    UID           =  0 (0x0)
    MID           =  1 (0x1)
    Word Count    =  0 (0x0)
    smb_bcc=12
    Dialect=NT LM 0.12

服务器响应:

SMB PACKET: SMBnegprot (REPLY)
SMB Command   =  0x72
Error class   =  0x0
Error code    =  0 (0x0)
Flags1        =  0x80
Flags2        =  0x3
Tree ID       =  0 (0x0)
Proc ID       =  1283 (0x503)
UID           =  0 (0x0)
MID           =  1 (0x1)
Word Count    =  17 (0x11)
NT1 Protocol
DialectIndex=0 (0x0)
SecMode=0x3
MaxMux=50 (0x32)
NumVcs=1 (0x1)
MaxBuffer=16644 (0x4104)
RawSize=65536 (0x10000)
SessionKey=0xA4AA
Capabilities=0x80F3FD
ServerTime=Sun Oct  1 18:00:38 2017
TimeZone=240 (0xf0)
CryptKey=Data: (1 bytes)
...

然后客户说:

    SMB PACKET: SMBsesssetupX (REQUEST)
    SMB Command   =  0x73
    Error class   =  0x0
    Error code    =  0 (0x0)
    Flags1        =  0x0
    Flags2        =  0x1
    Tree ID       =  0 (0x0)
    Proc ID       =  1283 (0x503)
    UID           =  0 (0x0)
    MID           =  2 (0x2)
    Word Count    =  13 (0xd)
    Com2=0xFF
    Res1=0x0
    Off2=0 (0x0)
    MaxBuffer=16644 (0x4104)
    MaxMpx=50 (0x32)
    VcNumber=0 (0x0)
    SessionKey=0x0
    CaseInsensitivePasswordLength=24 (0x18)
    CaseSensitivePasswordLength=24 (0x18)
    Res=0x0
    Capabilities=0x80D0DC
    Pass1&Pass2&Account&Domain&OS&LanMan=
    smb_bcc=179
    ...

最后是服务器:

SMB PACKET: SMBsesssetupX (REPLY)
SMB Command   =  0x73
Error class   =  0x6D
Error code    =  49152 (0xc000)
Flags1        =  0x80
Flags2        =  0x3
Tree ID       =  0 (0x0)
Proc ID       =  1283 (0x503)
UID           =  0 (0x0)
MID           =  2 (0x2)
Word Count    =  0 (0x0)
NTError = STATUS_LOGON_FAILURE
smb_bcc=0

到底是怎么回事?

更新:我可以安装任何东西的方法是创建一个带有空密码的帐户(smbpasswd -n ...)并进行编辑smb.conf以允许null passwords

答案1

我猜想新版本禁用了 SMB1。检查配置中是否有类似以下内容的行:“min protocol = SMB2”。

当我在家庭服务器上(故意)禁用 SMB1 时,也遇到了类似的结果。所有 Kodi 媒体播放器都无法连接,并抛出了身份验证错误。

答案2

好的,这是一个Samba-4.5 中引入的默认设置更改列表就我而言,我必须明确地将一项内容改回“是”,才能允许我的媒体播放器访问服务器:

[global]
    ntlm auth = yes

答案3

我花了一些时间上网并尝试了各种建议,终于找到了能够帮助我解决这个问题的解决方案。解决方案是为 FreeNAS 下的 SMB 服务设置辅助参数 server min protocol = NT1。重新启动 SMB 服务后,一切都像以前一样顺畅运行。

相关内容