找回密码
 立即注册
首页 业界区 业界 【Ubuntu】Ubuntu 22.04 与 Windows 跨系统文件共享的完 ...

【Ubuntu】Ubuntu 22.04 与 Windows 跨系统文件共享的完整方案

缑莺韵 昨天 21:35
引言

这应该也是个比较常见的需求,最近刚好就用到了,特在此记录一下。
这篇随笔目的是:

  • 将 Windows 的文件共享到 Ubuntu 中
    aim:方便将 Windows 本地文件工程转移到 Ubuntu

  • 将 Ubuntu 的文件共享到 Windows 中
    aim:方便 Windows 某些程序方便定位某些位于 Ubuntu 上目标文件夹的路径

参考文章

【详细步骤】Ubuntu安装Samba服务及配置共享文件夹
Ubuntu共享文件夹的创建和使用
Ubuntu22.04设置共享文件夹
Windows 文件共享到 Ubuntu

步骤一:设置 Windows 下的共享文件

我使用的是 VMware 这款虚拟机平台(其他的应该也差不多),操作如下:

  • 右键虚拟机 -> 设置
  • 选项 -> 共享文件夹 -> 添加 -> 选择 Windows 下的一个文件夹
1.png

步骤二:将共享文件夹挂载在 Ubuntu 下


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

Ubuntu 文件共享到 Windows

步骤一:安装 samba 工具,设置共享目录的读写权限
  1. // 以管理员权限更新系统软件包索引
  2. sudo apt update
  3. // Samba 服务的主程序(实现 Linux 与 Windows 的文件共享)
  4. // Samba 的通用配置文件和工具(提供共享配置的基础依赖)
  5. // Samba 的客户端工具(用于在 Linux 终端测试 / 访问远程共享目录)
  6. sudo apt-get install samba samba-common smbclient
  7. // 将home设置为共享
  8. sudo chmod 777 /home
复制代码
步骤二:samba 配置


  • 添加 samba 用户,并设置密码
    1. // 输入两次密码
    2. sudo smbpasswd -a 用户名
    复制代码
  • 使用 nano 修改 samba 配置文件
    1. // 个人习惯用 nano
    2. sudo nano /etc/samba/smb.conf
    3. 添加:
    4. [share]
    5. comment = share folder  # 共享描述
    6. browseable = yes        # 允许网络中可见该共享
    7. path = /home            # 共享文件夹的实际路径
    8. create mask = 0700      # 新建文件的默认权限(仅文件所有者可读/写/执行)
    9. directory mask = 0700   # 新建文件夹的默认权限(仅文件夹所有者可读/写/执行)
    10. valid users = shf       # 仅允许xxx用户访问该共享
    11. force user = shf        # 强制将共享内文件的所有者设为xxx(避免权限混乱)
    12. force group = shf       # 强制将共享内文件的所属组设为xxx
    13. public = yes            # 允许匿名访问(注:与valid users冲突,实际仅shf可访问)
    14. available = yes         # 启用该共享(设为no则禁用)
    15. writable = yes          # 允许对共享目录进行写入/修改/删除操作
    复制代码
    如图,将其添加到此文件最后的位置:
    3.png

  • 重启samba服务器
    1. sudo service smbd restart
    复制代码
  • 查看主机静态 IP 并测试是否能 Ping 通
    由于之前已经配置好了简单的三网段,可以参考这篇文章:
    【Ubuntu】Ubuntu 虚拟机配置三网段(桥接-WIFI、仅主机、桥接-开发板)
    查看 IP 地址:
    1. ifconfig
    复制代码
    返回如下图,其中192.168.184.184则是我给仅主机设置的静态 IP 地址,待会要用到。
    4.png
    1. // 输入:
    2. ping -c 3 192.168.184.1
    3. 返回:
    4. PING 192.168.184.1 (192.168.184.1) 56(84) bytes of data.
    5. 64 bytes from 192.168.184.1: icmp_seq=1 ttl=128 time=0.378 ms
    6. 64 bytes from 192.168.184.1: icmp_seq=2 ttl=128 time=0.423 ms
    7. 64 bytes from 192.168.184.1: icmp_seq=3 ttl=128 time=0.438 ms
    8. --- 192.168.184.1 ping statistics ---
    9. 3 packets transmitted, 3 received, 0% packet loss, time 2050ms
    10. rtt min/avg/max/mdev = 0.378/0.413/0.438/0.025 ms
    复制代码
  • 测试 Samba 共享是否正常
    1. 输入:
    2. smbclient -L //localhost/home -U 用户名
    3. 输入密码后即可返回:
    4.                 Sharename       Type      Comment
    5.                 ---------       ----      -------
    6.                 home            Disk      home guest share
    7.                 print$          Disk      Printer Drivers
    8.                 IPC$            IPC       IPC Service (ubuntu-skyrim server (Samba, Ubuntu))
    9. SMB1 disabled -- no workgroup available
    复制代码
  • Windows 操作挂载共享文件夹
    右键此电脑,选择映射网络驱动。
    5.png

    选择一个驱动器,这里我选择了 H盘(由于我已经配置过了,所以后面会显示我的静态 IP 地址和共享文件夹),文件夹那里根据示例来填写即可:
    1. \\192.168.184.184\share
    2. 注意这里 IP 地址后面好像只能填 share,我这里填写 home 不行。
    3. 填写完后输入你的 Ubuntu 用户名和密码即可。
    复制代码
    6.png

  • 打开此电脑,查看共享文件夹
    看到在网络位置多了一个盘,就说明挂载成功了。
    7.png

博客导航

博客导航

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册