我有一个媒体播放器,用来连接我运行Samba的主计算机,没有问题。它正在运行一个旧版本的嵌入式Linux (内核2.6.22.19-27),并且有CIFS。
在某个时候,在我升级了服务器上的Samba软件(samba-4.6.8在FreeBSD-10.4上运行)之后,播放器失去了这种能力--它仍然可以列出相同的导出份额,但不能再打开任何东西:“错误的凭据”。
在我的手机上,一个支持SMB的应用程序打开相同的文件夹(使用相同的凭据).
是否需要显式打开服务器以启用与旧客户端的某种兼容性模式?
更新:根据@Tin的建议,我在[global]-section of 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。
发布于 2017-10-05 12:27:53
好的,这是一个Samba-4.5中引入的对默认设置的更改列表。在我的例子中,我必须显式地将一件事情更改为“是”,以允许媒体播放器访问服务器:
[global]
ntlm auth = yes发布于 2017-10-01 10:36:45
我猜新版本已经禁用了SMB1。检查一个类似于“= SMB2”的行的配置。
当我在我的主服务器上禁用SMB1 (有意)时,我也得到了类似的结果。没有一个Kodi媒体播放器能够连接,并抛出一个关于身份验证的错误。
发布于 2020-09-22 13:06:03
在互联网上花费了一些时间,并尝试了各种建议,我设法找到了能够帮助我解决这个问题的解决方案。解决方案是在NT1下为SMB服务设置拍卖参数= FreeNAS。在重新启动SMB服务之后,一切都像以前一样无缝地工作。
https://serverfault.com/questions/876320
复制相似问题