加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何在 Linux 和 Windows 电脑之间共享文件

发布时间:2022-05-05 16:26:51 所属栏目:Windows 来源:互联网
导读:使用 Samba 设置跨平台文件共享。 如果你使用不同的操作系统,能够在它们之间共享文件会让你倍感方便。这篇文章介绍如何使用 Samba 和 mount.cifs 在 Linux (Fedora 33)和 Windows 10 之间设置文件共享。 Samba 是 SMB/CIFS 协议的 Linux 实现,允许通过网络
  使用 Samba 设置跨平台文件共享。
  如果你使用不同的操作系统,能够在它们之间共享文件会让你倍感方便。这篇文章介绍如何使用 Samba 和 mount.cifs 在 Linux (Fedora 33)和 Windows 10 之间设置文件共享。
 
  Samba 是 SMB/CIFS 协议的 Linux 实现,允许通过网络连接直接访问共享的文件夹和打印机。 mount.cifs 是 Samba 套件的一部分,可让你在 Linux 下挂载 CIFS 文件系统。
 
  注意: 这些说明适用于在你的私有本地网络内,或在 Linux 宿主机和虚拟化的 Windows 访客机之间的虚拟主机专用网络中共享文件。不要将本文视为你公司网络的操作指南,因为本文没有实现必要的网络安全考虑。
 
  从 Windows 访问 Linux
  本节介绍从 Windows 文件资源管理器访问用户的 Linux 主目录。
 
  1、安装和配置 Samba
  进入你的系统安装 Samba:
 
  复制
  dnf install samba
  1.
  Samba 是一个系统守护进程,其配置文件位于 /etc/samba/smb.conf。它的默认配置应该就可以工作。如果不行,下面这个最小化配置应该可以解决问题:
 
  复制
      [global]
              workgroup = SAMBA
              server string = %h server (Samba %v)
              invalid users = root
              security = user
      [homes]
              comment = Home Directories
              browseable = no
              valid users = %S
              writable = yes
  1.
  2.
  3.
  4.
  5.
  6.
  7.
  8.
  9.
  10.
  你可以在该项目网站的 smb.conf 部分找到参数的详细说明。
 
  2、修改 LinuxSE
  如果你的 Linux 发行版受 SELinux 保护(比如 Fedora),必须通过以下命令才能通过 Samba 共享主目录:
 
  复制
  setsebool -P samba_enable_home_dirs on
  1.
  通过以下命令查看这个值:
 
  复制
  getsebool samba_enable_home_dirs
  1.
  输出如下:
 
  Sebool
 
  3、启用你的用户
  Samba 使用一组用户/密码来管理连接权限。通过键入以下命令将你的 Linux 用户添加到该集合中:
 
  复制
  smbpasswd -a <你的用户名>
  1.
  系统提示你输入密码。这是一个 全新 的密码;而不是你账户的当前密码。请输入你想用来登录 Samba 的密码。
 
  键入以下命令得到有 Samba 使用权限的用户列表:
 
  复制
  pdbedit -L -v
  1.
  键入以下命令删除一个用户:
 
  复制
      smbpasswd -x <用户名>
  1.
  4、开启 Samba
  既然 Samba 是一个系统守护进程,你可以在 Fedora 上键入以下命令启动它:
 
  复制
  systemctl start smb
  1.
  这将为当前会话开启 Samba 服务。如果想让它自启动,键入以下命令:
 
  复制
  systemctl enable smb
  1.
  在某些系统上,Samba 守护进程注册为 smbd。
 
  5、配置防火墙
  你的防火墙会默认阻拦 Samba。通过配置防火墙允许 Samba 能永久访问网络。
 
  你可以在命令行执行如下操作:
 
  复制
  firewall-cmd --add-service=samba --permanent
  1.
  或者,你可以使用 firewall-config 工具以图形化方式进行操作:

  firewall-config
 
  6、从 Windows 访问 Samba
  在 Windows 中,打开文件资源管理器。在地址栏中,键入两个反斜杠(),紧跟你的 Linux 机器的地址(IP 地址或主机名):

  从 Windows 访问 Linux
 
  系统将提示你输入登录信息。输入第 3 步中的用户名和密码组合。你现在应该可以访问 Linux 机器上的主目录:
 
  从 Windows 访问 Linux
 
  从 Linux 访问 Windows
  以下步骤说明了如何从 Linux 访问共享的 Windows 文件夹。要实现这一点,需要你的 Windows 用户帐户具有管理员权限。
 
  1、启用文件共享
  通过点击 “Windows 按钮” > “设置Settings” > “网络和 InternetNetwork & Internet” ,或者右键单击任务栏右下角的小监视器图标,打开网络和共享中心Open Network an d Sharing Center:

  打开网络和共享中心
 
  在打开的窗口中,找到你要使用的连接并记下其配置文件。我使用了 以太网 3,它被标记为 公用网络Public Network。
 
  注意:如果你的 PC 经常连接公用网络,请考虑将本地计算机的连接配置文件更改为 私有。
 
  记住你的网络配置,然后单击 更改高级共享设置Change advanced sharing settings:

  更改高级共享设置
 
  选择与你的连接对应的配置文件并打开 网络发现network discovery 和 文件和打印机共享file and printer sharing:
 
  网络共享设置
 
  2、定义一个共享文件夹
  通过右键单击你要共享的文件夹打开上下文菜单,导航到 授予访问权限Give access to,然后选择 特定用户...Specific people...:
 
  授予访问权限
 
  检查你当前的用户名是否在列表中。点击 共享Share 将此文件夹标记为共享:
 
  标记为共享
 
  你可以通过在文件资源管理器的地址栏中输入 localhost 来显示所有共享文件夹的列表:

  3、在 Linux 下挂载共享文件夹
  回到你的 Linux 系统,打开一个命令行,然后创建一个新文件夹,用于挂载 Windows 共享:
 
  复制
  mkdir ~/WindowsShare
  1.
  挂载 Windows 共享是使用 mount.cifs 完成的,它应该被默认安装。使用如下命令临时挂载你的共享文件夹:
 
  复制
      sudo mount.cifs //<address-of-windows-pc>/MySharedFolder ~/WindowsShare/ -o user=<Windows-user>,uid=$UID
  1.
  在这个命令里:
 
  <address-of-windows-pc>是 Windows PC 的地址信息(IP 或主机名)
  <Windows-user>是允许访问共享文件夹的用户(见步骤 2)
  系统将提示你输入 Windows 密码。之后,你将能够使用普通 Linux 用户访问 Windows 上的共享文件夹。
 
  要卸载共享文件夹:
 
  复制
  sudo umount ~/WindowsShare/
  1.
  你还可以在系统启动时挂载 Windows 共享文件夹。按照 这些步骤 相应地配置你的系统。
 
  总结
  在这里展示了如何建立临时的文件夹共享访问权限,每次重启后都要重新设置,因此修改成永久访问会更便利。我经常在不同的系统之间来回切换,对我而言设置直接文件访问非常实用。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读