CentOS 7.4/Samba 4.6.2 升级后 Windows PC 被要求输入密码吗?

CentOS 7.4/Samba 4.6.2 升级后 Windows PC 被要求输入密码吗?

我从 CentOS 7.3 升级到了 7.4。同时升级了 Samba。Mac 工作站上一切正常,但 Windows PC 工作站(如果重要的话,它们运行的​​是 Windows 7)被提示输入密码才能访问 Samba 共享。对话框中有工作站名称、反斜杠和文件服务器的用户帐户。我尝试选择使用另一个帐户登录,并手动输入文件服务器的用户帐户和密码,但它不接受。

Samba version 4.6.2

Linux ourbox 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

smb.conf:
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = OURBOX
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ============================== 
[OUR]
comment = OUR File Server
writable = yes
valid users = smbuser
path = /home/share
create mode = 0660
directory mode = 0770
browsable = yes
guest ok = no
read only = no

我在日志中找不到任何显示尝试访问的内容。没有错误消息。Windows 工作站被提示输入密码,但它不接受。

我很乐意提供更多细节或提供更多故障排除建议。

答案1

我通过将其添加到 Global 中的 smb.conf 解决了这个问题:

ntlm auth = yes

我读了 Samba 4.6.2 的发布新闻,其中指出:

“为了提高安全性,NT LAN 管理器版本 1 (NTLMv1) 协议现在默认禁用。如果您需要不安全的 NTLMv1 协议,请将 /etc/samba/smb.conf 文件中的 ntlm auth 参数设置为 yes。”

不过,似乎有一种方法可以在单个 Windows 7 工作站上配置它以支持 NTLMv2 协议,我在这里读到过,并且只是测试了它。这没有用。我最终按照上面指示对 smb.conf 文件进行了更改,并且成功了。不知道为什么按照下面链接中的说明对 Windows 7 工作站进行的更改没有起作用。如果您尝试按照链接中的说明进行操作,请确保对选项进行截图,这样如果它们对您不起作用,您也可以将它们放回去:

https://support.symantec.com/en_US/article.TECH132917.html

答案2

检查 Windows 注册表项:

HKLM\System\CurrentControlSet\Control\Lsa\LmCompatibilityLevel

如果将其设置为 0,则 Windows 将仅尝试使用 NTLMv1 进行连接。您可以删除此注册表项,然后 Windows 将恢复其默认行为,即使用 NTLMv2 进行连接。

相关内容