Windows 客户端要求输入密码,Linux 则不需要

Windows 客户端要求输入密码,Linux 则不需要

我快要抓狂了。我正在重建我的家用 NAS 盒,并且正在努力设置 SAMBA。

我想要拥有基于匿名访客的免身份验证共享,可供我网络上的所有机器访问,包括运行 Windows、Linux 和 Android 的设备。

我忘记备份我的旧 Samba 配置了,但经过几天的研究,我得到了以下结果:

[global]
    workgroup = WORKGROUP
    map to guest = bad user
    guest account = nobody

[share]
        path = /var/samba_lz
        browsable = yes
        guest ok = yes
        read only = no

问题是,共享功能在我的 Linux 和 Android 设备上可以完美运行,但在 Windows 上却不行!Windows 不断弹出身份验证对话框,我想不到任何用户名+密码组合都行不通,而且它不允许我将其留空。

服务器是 Ubuntu 14.04,我遇到问题的 Windows 版本是 7。该目录samba_lz的 chmodded 为 777,属于机器的主用户帐户。

任何帮助,将不胜感激。

答案1

好吧,用户 c4f4t0r 的评论让我陷入了困境,我想我已经知道问题出在哪里了。

由于 NAS 盒具有相同的名称,并且共享也具有相同的名称,因此 Windows 存储了一些用于尝试连接到共享的凭据。由于凭据在重建的 NAS 盒上发生了变化,因此 Windows 尝试连接时失败了。由于某种原因,旧凭据从服务器弹出,我无法进入。

删除这些凭据的任何实例似乎已经解决了该问题:

  1. 在 cmd 中运行net use将显示访问网络资产时使用的记住的凭据列表。我在此列表中存储了此共享的凭据。

  2. 运行wmic netuse将显示连接共享时使用的实际用户名。

  3. 最后运行net use * \d删除所有存储的凭据。如果存在不应删除的凭据,net use \\ProblemServer\ProblemShare /delete则应仅删除该共享的凭据。

  4. 此时共享仍然有效,但只能持续一段时间。大约 5 分钟后,我再次看到该死的凭证框。现在我可以输入任何内容,它就可以正常工作了!

  5. 为了解决这个问题,我运行了net use \\server\share "" /user:"",然后共享奇迹般地起作用了。据我所知,我现在告诉 Windows 每次我尝试访问共享时都发送一个空白的用户名和密码。

此后,我能够打开共享,而 Windows 不再要求任何形式的凭据。

如果有人有更好的解决方案或者能解释为什么会发生这种情况,欢迎提出意见!

相关内容