引言
这应该也是个比较常见的需求,最近刚好就用到了,特在此记录一下。
这篇随笔目的是:
- 将 Windows 的文件共享到 Ubuntu 中
aim:方便将 Windows 本地文件工程转移到 Ubuntu - 将 Ubuntu 的文件共享到 Windows 中
aim:方便 Windows 某些程序方便定位某些位于 Ubuntu 上目标文件夹的路径
参考文章
【详细步骤】Ubuntu安装Samba服务及配置共享文件夹
Ubuntu共享文件夹的创建和使用
Ubuntu22.04设置共享文件夹
Windows 文件共享到 Ubuntu
步骤一:设置 Windows 下的共享文件
我使用的是 VMware 这款虚拟机平台(其他的应该也差不多),操作如下:
- 右键虚拟机 -> 设置
- 选项 -> 共享文件夹 -> 添加 -> 选择 Windows 下的一个文件夹

步骤二:将共享文件夹挂载在 Ubuntu 下
-
安装/更新工具包
// 以管理员权限更新系统软件包索引 sudo apt update // 安装 VMware Tools 的开源替代版 open-vm-tools(实现虚拟机与主机的基础交互 / 共享功能) sudo apt install open-vm-tools // 更新 FUSE 版本 sudo apt-get install fuse -
共享文件的文件夹位置在
/mnt/hgfs/目录下,假如没有这个目录,就创建一个sudo mkdir -p /mnt/hgfs/ -
敲指令进入此目录,并进行挂载
// 进入 /mnt/hgfs/ 目录 cd /mnt/hgfs/ // 通过 VMware 的 hgfs 工具将主机所有共享文件夹挂载到虚拟机的/mnt/hgfs目录 sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,uid=1000,gid=1000,umask=022 // allow_other:允许普通用户访问挂载目录 // uid=1000:将挂载目录的文件所有者设为 UID=1000 的普通用户(避免仅 root 可访问,可通过`id`命令查看) // gid=1000:将挂载目录的文件所属组设为 GID=1000 的用户组 // umask=022:设置挂载目录的默认权限(让普通用户可读可写,其他用户只读) -
设置开机自动挂载
// 打开开机配置文件夹,编辑开机自动执行的命令 sudo nano /etc/rc.local // 在配置文件夹中输入,即可完成开机自动挂载共享文件夹: sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,uid=1000,gid=1000,umask=022
可以看到,已经挂载成功:

Ubuntu 文件共享到 Windows
步骤一:安装 samba 工具,设置共享目录的读写权限
// 以管理员权限更新系统软件包索引
sudo apt update
// Samba 服务的主程序(实现 Linux 与 Windows 的文件共享)
// Samba 的通用配置文件和工具(提供共享配置的基础依赖)
// Samba 的客户端工具(用于在 Linux 终端测试 / 访问远程共享目录)
sudo apt-get install samba samba-common smbclient
// 将home设置为共享
sudo chmod 777 /home
步骤二:samba 配置
-
添加 samba 用户,并设置密码
// 输入两次密码 sudo smbpasswd -a 用户名 -
使用 nano 修改 samba 配置文件
// 个人习惯用 nano sudo nano /etc/samba/smb.conf 添加: [share] comment = share folder # 共享描述 browseable = yes # 允许网络中可见该共享 path = /home # 共享文件夹的实际路径 create mask = 0700 # 新建文件的默认权限(仅文件所有者可读/写/执行) directory mask = 0700 # 新建文件夹的默认权限(仅文件夹所有者可读/写/执行) valid users = shf # 仅允许xxx用户访问该共享 force user = shf # 强制将共享内文件的所有者设为xxx(避免权限混乱) force group = shf # 强制将共享内文件的所属组设为xxx public = yes # 允许匿名访问(注:与valid users冲突,实际仅shf可访问) available = yes # 启用该共享(设为no则禁用) writable = yes # 允许对共享目录进行写入/修改/删除操作如图,将其添加到此文件最后的位置:

-
重启samba服务器
sudo service smbd restart -
查看主机静态 IP 并测试是否能 Ping 通
由于之前已经配置好了简单的三网段,可以参考这篇文章:
查看 IP 地址:
ifconfig返回如下图,其中
192.168.184.184则是我给仅主机设置的静态 IP 地址,待会要用到。

// 输入: ping -c 3 192.168.184.1 返回: PING 192.168.184.1 (192.168.184.1) 56(84) bytes of data. 64 bytes from 192.168.184.1: icmp_seq=1 ttl=128 time=0.378 ms 64 bytes from 192.168.184.1: icmp_seq=2 ttl=128 time=0.423 ms 64 bytes from 192.168.184.1: icmp_seq=3 ttl=128 time=0.438 ms --- 192.168.184.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2050ms rtt min/avg/max/mdev = 0.378/0.413/0.438/0.025 ms -
测试 Samba 共享是否正常
输入: smbclient -L //localhost/home -U 用户名 输入密码后即可返回: Sharename Type Comment --------- ---- ------- home Disk home guest share print$ Disk Printer Drivers IPC$ IPC IPC Service (ubuntu-skyrim server (Samba, Ubuntu)) SMB1 disabled -- no workgroup available -
Windows 操作挂载共享文件夹
右键此电脑,选择映射网络驱动。

选择一个驱动器,这里我选择了 H盘(由于我已经配置过了,所以后面会显示我的静态 IP 地址和共享文件夹),文件夹那里根据示例来填写即可:
\\192.168.184.184\share 注意这里 IP 地址后面好像只能填 share,我这里填写 home 不行。 填写完后输入你的 Ubuntu 用户名和密码即可。
-
打开此电脑,查看共享文件夹
看到在网络位置多了一个盘,就说明挂载成功了。
