我从 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 工作站被提示输入密码并且它不会接受它。
我很乐意提供更多详细信息或提供更多故障排除建议。
我通过将其添加到 Global 中的 smb.conf 解决了这个问题:
我阅读了 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
检查 Windows 注册表项:
如果设置为 0,则 Windows 将仅尝试使用 NTLMv1 进行连接。您可以删除此注册表项,然后 Windows 将恢复到其默认行为,即使用 NTLMv2 进行连接。