admin 管理员组

文章数量: 887016

这个问题纠结了好几天,在网上也查了好些资料都没有解决。现在终于解决了,必须要分享出来。

环境配置:

PC1:Linux Mint 19.2,在此电脑上配置Samba服务。我为了方便,是通过Mint的一个Samba插件配置的。

PC2:Win7-64位,旗舰版

问题现象:

在PC1上使用VirtualBox安装了一个Win7-64 旗舰版的虚拟机,通过此虚拟机访问Linux上的Samba目录时,总是提示“未知的用户名或错误密码”。如下图所示:

但我通过PC2访问Linux的Samba服务,却能正常访问。

解决过程:

在网上查找了很多资料,大部都说按以下方法:

单击”开始“-“运行”,输入secpol.msc,打开“本地安全策略”,在本地安全策略窗口中依次打开“本地策略”-->“安全选项”,然后再右侧的列表中找到“网络安全:LAN管理器身份验证级别”,把这个选项的值改为“发送 LM 和 NTLM – 如果已协商,则使用 NTLMv2会话安全”。

但经常尝试,问题依旧。

也有人说,删除凭证,或者改Windows计算机名称,都试过。问题依旧没有解决。

没办法了,想想还是只有自己分析:

首先,其它的Windows可以正常访问,说明Samba配置本身没有问题,出问题的应该是Windows虚拟机的配置。

查看Linux的日志:pam_unix(samba:session): session closed for user nobody

明显,用户名不对。说明Windows没有传递用户名。

但通过PC2测试发现,正常连接时,也有这个日志,但随后就有建立连接成功的日志,并且显示了正常的用户名。

通过虚拟机连接时,在显示了

session closed for user nobody 之前 显示了session closed for user XXX,说明真实的用户是传递过去了的

结合前面查到的资料,所有猜测是虚拟机连接到Samba时,协议对不上,导致Windows在收到第一个应答时,直接就报错了。

就尝试将“LAN管理器身份验证级别”改为“仅发送 NTLM2响应”,然后,·居然成功了。


至于为什么PC2可以连接成功,一种可能是这个是Windows的Bug.  PC2用了2年多了,一直更新。我的虚拟机刚安装完成,未更新补丁,所以连接不上。但这个猜测,我没有测试验证。

 

 

 

 

 

 

 

 

 

本文标签: 用户名 错误 提示 密码 samba