我有一个运行 ubuntu 的虚拟机,我正尝试在 ubuntu 上托管一些文件并在 Windows PC 中映射驱动器。
按照步骤这里,输入 \ubuntu_ip 后,我能够(从 Windows)看到“work”文件夹。但是,当我尝试从 Windows 使用“svc_acct”访问或映射它时,我收到“0x80070043 错误,无法找到网络名称”。我想我无法从 Windows 正确访问。
下面是 SAMBA 配置(svc_acct 是在 Linux 下设置的帐户)。从 Windows 访问文件夹时,系统提示我输入用户名/密码。不确定具体要输入什么凭据。
samba config:
[work]
path = /home/svc_acct/work
valid users = svc_acct
available = yes
read only = no
browsable = yes
public = yes
writable = yes
force user = svc_acct
create mask = 0777
directory mask = 0777
更新:
我解决这个问题的方法是将 samba 配置的路径从 更改path = /home/svc_acct/work
为path = /home/svc_acct
以下内容这帖子(最后一句)。然后当我尝试单击文件夹时,Windows 中不再提示输入密码。感谢@sancho.s 建议链接。
答案1
您必须将smb.conf
和 Windows 共享进行匹配。一种选择是不限制谁可以访问 Windows 中的共享valid users
,例如这。
我能想到的另一个选择是您没有正确设置 Windows 共享,如上面的链接中所述。请注意可能有用的%S
宏(官方文档这里)。
您可能需要重新启动服务(我猜您已经这样做了)。
您可以更详细地描述您正在做的事情。不清楚在什么情况下您会收到“0x80070043 错误,无法找到网络名称”或提示您输入用户名/密码。屏幕截图也可能有帮助。
由于缺乏更多信息,我添加了一些可能有用的链接。
可接受的解决方案在相关问题中(针对 VirtualBox,但大多数/全部都适用于此处)。其他答案可能会有所帮助。
如何在 VirtualBox NAT 后面的客户 Linux 上访问 samba?
答案2
尝试通过 Ubuntu VM 的 IP 地址访问 Samba 共享。如果此操作有效(应该有效),您可以使用以下方法之一:
为虚拟机指定一个静态 IP 地址并将其添加到
hosts
文件中(如果这个解决方案的技术含量不是太低的话)/etc/samba/smb.conf
通过在 WORKGROUP 行后添加 来启用 Netbios ,netbios name = Your-PC-name
然后通过 重新启动 sambasudo service smbd restart
。在
/etc/samba/smb.conf
文件中,查找一行name resolve order
:; name resolve order = lmhosts host wins bcast
取消注释该行并确保它
bcast
是列表中的第一个,然后重新启动 Samba。
您可能需要在 Windows 中刷新 DNS 并重新启动:
ipconfig /flushdns
ipconfig /registerdns