允许 SMB 1 使用 Samba 进行 LANMAN 身份验证

允许 SMB 1 使用 Samba 进行 LANMAN 身份验证

我需要将 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 的建议解决了这个问题。

但我还需要考虑两件事:

  1. 设置与之前相同的密码不会重置哈希。

  2. 密码的最大长度为 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 密码。

安德鲁·巴特利特

相关内容