我正在开发一个项目,该项目要求我的 hosts 文件中有一个将 \\share 映射到 localhost 的别名。我将这行“127.0.0.1 localhost share”添加到我的 hosts 文件中,当我 ping share 时,我会收到来自 localhost 的响应,所以我知道别名正在工作。我有一些本地共享文件夹,当我访问 \\localhost\dir1 时,我可以通过 Windows 文件资源管理器访问这些文件夹,但是当我输入 \\share\dir1 时,系统会提示我输入网络凭据。我的网络凭据都不起作用,我无法访问 \\share。我做了一些研究,确定我可以进入控制面板\所有控制面板项\网络和共享中心\高级共享设置并禁用密码要求,尽管我所在的域已限制此选项。我还有其他方法可以访问\\共享\目录1不需要用户名和密码?
答案1
我猜这是 SMB 使用 NETBIOS 的结果;它使用 IP 和 FQDN 的 SNP 进行侦听。您的别名对于 SMB 来说基本上是未知的。
您可以尝试 1)使用netdom
添加备用名称,或 2)禁用 TCP 上的 NETBIOS,这将强制 SMB 直接托管
https://support.microsoft.com/en-us/help/204279/direct-hosting-of-smb-over-tcp-ip
答案2
您添加到 hosts 文件中的行格式不正确。hosts 文件包含一些示例供您参考。井号 (#) 表示该行的其余部分是注释,因此请确保您的行符合以下格式:不是从该符号开始。根据您的描述,您对文件的修改应如下所示(添加了我自己的注释):
127.0.0.1 share # make "\\share" resolve to this computer
尝试一下,看看是否有效。如果没有,则可能是其他问题。