【Ubuntu】Ubuntu 22.04 与 Windows 跨系统文件共享的完整方案
引言这应该也是个比较常见的需求,最近刚好就用到了,特在此记录一下。
这篇随笔目的是:
[*]将 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
添加:
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 通
由于之前已经配置好了简单的三网段,可以参考这篇文章:
【Ubuntu】Ubuntu 虚拟机配置三网段(桥接-WIFI、仅主机、桥接-开发板)
查看 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 用户名和密码即可。
[*]打开此电脑,查看共享文件夹
看到在网络位置多了一个盘,就说明挂载成功了。
博客导航
博客导航
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 用心讨论,共获提升! 感谢分享,下载保存了,貌似很强大 很好很强大我过来先占个楼 待编辑 感谢发布原创作品,程序园因你更精彩 用心讨论,共获提升! 感谢,下载保存了 这个有用。 分享、互助 让互联网精神温暖你我 收藏一下 不知道什么时候能用到 感谢,下载保存了 新版吗?好像是停更了吧。 前排留名,哈哈哈 用心讨论,共获提升! 很好很强大我过来先占个楼 待编辑 yyds。多谢分享 感谢分享,学习下。 过来提前占个楼 懂技术并乐意极积无私分享的人越来越少。珍惜 这个好,看起来很实用
页:
[1]
2