我需要将 DOS 计算机连接到 Samba 共享。在 Ubuntu 16.04 (Xenial) 上,这没有问题,我只需使用smbpasswdlanman auth=yes
添加smb.conf
并重新生成密码哈希即可。在 Ubuntu 19.10 上,这似乎已损坏。即使经过此过程, LANMAN 哈希应该在的位置pdbedit -L -w
仍显示 32 次X
。如果我从 Ubuntu Xenial 计算机复制 TDB 数据库(在 /var/lib/samba/private 中),较新的 Samba 版本甚至会用 32* 覆盖正确的 LMHASH X
。没有错误消息,并且该选项lanman auth=yes
仍然被接受testparm
,所以这似乎是一个错误。有没有办法在较新的 Ubuntu 版本上激活 LM-Hash?
答案1
终于解决了:
[global]
server min protocol = NT1
ntlm auth = yes
lanman auth = yes
并通过
sudo smbpasswd username
按照 Morbius1 的建议解决了这个问题。
但我还需要考虑两件事:
设置与之前相同的密码不会重置哈希。
密码的最大长度为 14 个字符。如果密码过长,则不会设置哈希值。
可以使用以下方法检查哈希值
pdbedit -L -W
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX代表未设置。
解决方案也在那里Ubuntu 20.04“未为用户设置 LanMan 密码”
答案2
为了使其lanman auth = yes
正常工作,您还必须设置ntlm auth = yes
较新版本的 Samba。[编辑:当然,设置后还需要使用 smbpasswd 重新生成密码,如您的问题中所述。]
我在 FreeBSD 上遇到了同样的问题,并偶然发现了这个电子邮件列表信息在我的搜索中,现在我能够在 MS-DOS 6.22 中使用 Microsoft Network Client 3.0 在我的 ZFS 网络共享中进行探索:
Samba 4.7 将“lanman auth”更改为首先尊重“ntlm auth”,因此您也必须设置它。
我将准备一份文档更新。
我还确认在我们的测试环境中仍然会生成 lanman 密码。
安德鲁·巴特利特