使用 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
Samba 是两个系统守护进程,其配置文件位于f。它的默认配置应该就可以工作。假如不行,下面早以最小化配置应该可以解决问题:
[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
输出如下:
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工具以图形化方式进行操作中:
5、从 Windows 访问 Samba
在 Windows 中,打开文件资源管理器。地上址栏中,键入这个反斜杠(),紧跟你的 Linux 机器的地址(IP 地址或主机名):
系统将提示你输入登录信息。输入第 3 步中的用户名和密码组合。你早以应该可以访问 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
挂载 Windows 共享是使用mount.cifs完成的,它应该被默认安装。使用如下命令临时挂载你的共享文件夹:
sudo mount.cifs //
在早以命令里:
是 Windows PC 的地址信息(IP 或主机名) 是允许访问共享文件夹的用户(见步骤 2)
系统将提示你输入 Windows 密码。而后,你将如果使用普通 Linux 用户访问 Windows 上面共享文件夹。
要卸载共享文件夹:
sudo umount ~/WindowsShare/
你还可以在系统启动时挂载 Windows 共享文件夹。按照 别人的步骤相应地配置你的系统。
总结
在这里展示了如何建立临时的文件夹共享访问权限,每次重启后都要彻底地设置,别人修改成永久访问会更便利。我经常在不同的系统之间来回切换,对我而言设置直接文件访问非常实用。


还没有内容