如何在 Linux 和 Windows 电脑之间共享文件
创始人
2024-03-02 11:03:08
0

使用 Samba 设置跨平台文件共享。

如果你使用不同的操作系统,能够在它们之间共享文件会让你倍感方便。这篇文章介绍如何使用 Sambamount.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

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

你可以在该项目网站的 smb.conf 部分找到参数的详细说明。

2、修改 LinuxSE

如果你的 Linux 发行版受 SELinux 保护(比如 Fedora),必须通过以下命令才能通过 Samba 共享主目录:

setsebool -P samba_enable_home_dirs on

通过以下命令查看这个值:

getsebool samba_enable_home_dirs

输出如下:

Sebool

3、启用你的用户

Samba 使用一组用户/密码来管理连接权限。通过键入以下命令将你的 Linux 用户添加到该集合中:

smbpasswd -a <你的用户名>

系统提示你输入密码。这是一个 全新 的密码;而不是你账户的当前密码。请输入你想用来登录 Samba 的密码。

键入以下命令得到有 Samba 使用权限的用户列表:

pdbedit -L -v

键入以下命令删除一个用户:

smbpasswd -x <用户名>

4、开启 Samba

既然 Samba 是一个系统守护进程,你可以在 Fedora 上键入以下命令启动它:

systemctl start smb

这将为当前会话开启 Samba 服务。如果想让它自启动,键入以下命令:

systemctl enable smb

在某些系统上,Samba 守护进程注册为 smbd

4、配置防火墙

你的防火墙会默认阻拦 Samba。通过配置防火墙允许 Samba 能永久访问网络。

你可以在命令行执行如下操作:

firewall-cmd --add-service=samba --permanent

或者,你可以使用 firewall-config 工具以图形化方式进行操作:

firewall-config

5、从 Windows 访问 Samba

在 Windows 中,打开文件资源管理器。在地址栏中,键入两个反斜杠(\\),紧跟你的 Linux 机器的地址(IP 地址或主机名):

从 Windows 访问 Linux

系统将提示你输入登录信息。输入第 3 步中的用户名和密码组合。你现在应该可以访问 Linux 机器上的主目录:

从 Windows 访问 Linux

从 Linux 访问 Windows

以下步骤说明了如何从 Linux 访问共享的 Windows 文件夹。要实现这一点,需要你的 Windows 用户帐户具有管理员权限。

1、启用文件共享

通过点击 “Windows 按钮” > “ 设置 Settings ” > “ 网络和 Internet Network & 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

挂载 Windows 共享是使用 mount.cifs 完成的,它应该被默认安装。使用如下命令临时挂载你的共享文件夹:

sudo mount.cifs ///MySharedFolder ~/WindowsShare/ -o user=,uid=$UID

在这个命令里:

  • 是 Windows PC 的地址信息(IP 或主机名)
  • 是允许访问共享文件夹的用户(见步骤 2)

系统将提示你输入 Windows 密码。之后,你将能够使用普通 Linux 用户访问 Windows 上的共享文件夹。

要卸载共享文件夹:

sudo umount ~/WindowsShare/

你还可以在系统启动时挂载 Windows 共享文件夹。按照 这些步骤 相应地配置你的系统。

总结

在这里展示了如何建立临时的文件夹共享访问权限,每次重启后都要重新设置,因此修改成永久访问会更便利。我经常在不同的系统之间来回切换,对我而言设置直接文件访问非常实用。


via: https://opensource.com/article/21/4/share-files-linux-windows

作者:Stephan Avenwedde 选题:lujun9972 译者:hanszhao80 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

AI助力教育资源共享,“A...
三方合力,科技弥合城乡教育鸿沟,让乡村孩子共享 AI教育新未来 2...
2025-06-10 15:40:48
开源鸿蒙开发者大会2025...
5月24日,开源鸿蒙开发者大会2025(OHDC.2025)在深圳...
2025-05-30 14:10:26
JUC并发编程共享模型之内...
4.1 Java 内存模型 JMM 即 Java Memory M...
2025-05-30 10:23:35
16基于主从博弈理论的共享...
说明书 MATLAB代码:基于主从博弈理论的共享储能...
2025-05-30 03:30:42
保姆级教程!基于声网 We...
前言 大家好,我是 @小曾同学,...
2025-05-29 18:32:25
讲解Linux中samba...
♥️作者:小刘在C站 ♥️个人主页:小...
2025-05-28 23:09:22

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...