![解决 Windows 主机中 VirtualBox Linux Ubuntu 访客访问问题](https://linux22.com/image/1354573/%E8%A7%A3%E5%86%B3%20Windows%20%E4%B8%BB%E6%9C%BA%E4%B8%AD%20VirtualBox%20Linux%20Ubuntu%20%E8%AE%BF%E5%AE%A2%E8%AE%BF%E9%97%AE%E9%97%AE%E9%A2%98.png)
我在 Windows 7 主机上运行 VirtualBox,带有 Ubuntu Linux 客户操作系统。
我正在尝试在 Linux 上设置 Samba,以便从 Windows 主机访问文件夹 (/home/user) 作为共享 - 我认为这应该是可能的,但在运行过程中遇到了麻烦。我知道 VirtualBox 的共享文件夹选项,但我特别需要使用 Samba 来完成此操作。
我安装了 Samba ( apt-get install samba sambafs
) 并设置了/etc/smbd.conf
共享
[usershare]
path = /home/user
read only = no
browseable = yes
还不必担心用户如何保护它 - 希望先让它工作起来。
我设立二VirtualBox 中的网络适配器 - 一个 NAT,这样我就可以访问 Internet 进行 apt-get 等操作,一个 Host-Only,希望它只允许我通过主机访问 Ubuntu 客户端。(因此,无需立即关注用户级安全。)
现在,我可以在 Windows 中看到仅主机网络的 IP,并尝试在 Windows 资源管理器中访问它 - 出现一个空白窗口,我什么也看不到。IP 看起来像 169.254.127.xxx。如果我输入,\\169.254.127.xxx\usershare
它会挂起一段时间并失败。
我该如何解决这个问题?
这可能是网络配置问题还是 Samba 问题?
答案1
好的,我想我明白了。
我的理解存在一些差距:
Samba 设置
- 我意识到 Samba 用户需要自己的身份验证,而这不一定与 UNIX 用户名/密码相同。因此我使用 创建了帐户
smbpasswd
。 - 然后,我通过在虚拟机内本地安装来确认 Samba 设置正确
smbmount
,例如,smbmount //localhost/share /mnt/test -o user=testuser,pass=password
Virtualbox 设置
- 我的虚拟机上有两个网卡 - eth0 是默认 NAT 适配器,新的 eth1 是仅主机的
- 在虚拟机中,我在 VirtualBox 文件 > 首选项 > 网络菜单中为 eth1 提供了一个与主机专用网络位于同一子网的静态 IP 地址。我忽略的关键是虚拟机需要与主机端的主机专用适配器不同的 IP 地址。因此,VirtualBox 中的主机专用适配器位于 192.168.100.1,Ubuntu 客户机的静态 IP 为 192.168.100.2(例如)。
- 最后,设置完成后,我可以看到 Samba 共享
\\192.168.100.2\share\