使用 Samba 把VMware 里的Ubuntu 20.04 的目录共享给Windows

由于某些目录会有symbol link 文件, 所以只能从Linux 往外共享, 不能把Windows 的目录共享给Linux, 否则在生成链接文件的时候会报错

使用 Samba 把VMware 里的Ubuntu 20.04 的目录共享给Windows

网络设置

由于我不希望虚拟机链接外网, 所以选择Host only 的连接模式( 这个模式无法连接外网, 所以装软件的时候需要临时更改为NAT 或者桥接模式 )

创建一个Host Only 的虚拟网卡

Vmware => Edit => Virtual Network Editor

虚拟机设置使用VMnet2 ( 上面创建的虚拟网卡 ) 连接

Ubuntu 中的网络设置

测试

在Ubuntu 中ping 什么都ping 不通, 但Windows 可以ping 通Ubuntu 说明设置好了

Ubuntu 配置

Ubuntu 安装 Samba

1
sudo apt install samba

修改samba 配置文件以添加公开的共享目录( 不需要帐号密码就可以访问 )

1
sudo vim /etc/samba/smb.conf

在文件末尾添加以下内容:

1
2
3
4
5
6
[share]
        path = /home/wcq/opentitan
        public = yes
        available = yes
        writeable = yes
        browseable = yes

其中 [share] 是在Windows 端显示的共享目录的名字

修改samba 配置文件以添加私有的共享目录( 需要帐号密码就可以访问 )

1
2
3
4
5
[share]
path = /home/share
read only = no
hosts allow = 10.0.12.129 10.0.2.15
valid users = wcq

以上配置只允许特定 IP 地址和特定用户可以访问

  • 创建sambe 用户, 用于外部访问

    1
    
    sudo smbpasswd -a wcq
    

    创建完成后, 外部主机就可以用这个帐号密码来访问共享的目录了

  • 👿注意: smbpasswd 创建的帐号名必须是当前Linux 系统中已经存在的帐号名, 否则会创建失败

更改共享目录的权限

1
2
cd ~/
chmod 777 opentitan -R

使能并开启Smaba服务

1
2
sudo systemctl enable smbd.service
sudo systemctl start smbd.service

如果需要重启服务则

1
sudo systemctl restart smbd.service

可以通过以下命令来查看服务是否正常, 如果发现samba 不能正常工作可以用这个命令看一看

1
sudo systemctl status smbd.service

Windows 设置

确保Window 已经开启了 SMB 文件共享支持

打开控制面板 => 程序和功能 => 启用或关闭Windows 功能

在资源管理器中输入 \\ + Ubuntu 的IP 地址即可看到共享目录

把共享目录映射网络驱动器

在资源管理器中右键此电脑 => 映射网络驱动器

Licensed under CC BY-NC-SA 4.0