配置 NFS 或 Samba 实现局域网共享文件夹:兼容 Windows 和 Linux
家里同时有Windows电脑和Linux服务器?办公需要在不同系统间传文件,插U盘太麻烦?今天教你两种局域网共享方案,NFS和Samba任选,简单几步实现跨系统文件互传,小白也能跟着做。
图1:局域网共享网络拓扑图,展示NFS服务器与多设备连接架构
先搞懂:为什么需要两种方案?
局域网共享主要看设备类型。NFS(网络文件系统)是Linux/Unix的“原生协议”,速度快、配置简单,适合Linux设备之间共享;Samba则是“跨平台专家”,基于SMB协议,能让Linux和Windows无缝对接,甚至支持手机、电视访问。根据你的设备组合选方案,效率翻倍。
方案一:NFS——Linux设备首选,速度快到飞起
1. Linux服务器端配置(以Ubuntu 22.04为例)
先装NFS服务,打开终端输入:
sudo apt update && sudo apt install nfs-kernel-server -y
创建共享目录,比如把/home/share设为共享文件夹:
sudo mkdir -p /home/share
sudo chmod 777 /home/share # 给读写权限
编辑配置文件/etc/exports,指定谁能访问:
sudo nano /etc/exports
添加一行(允许192.168.1.0/24网段读写):
/home/share 192.168.1.0/24(rw,sync,no_subtree_check)
图2:Linux终端查看NFS配置文件内容,显示共享目录及权限设置
重启服务让配置生效:
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
2. Linux客户端挂载(比如另一台Ubuntu)
装NFS客户端工具:
sudo apt install nfs-common -y
创建本地挂载点,挂载共享目录:
mkdir ~/nfs_mount
sudo mount 192.168.1.100:/home/share ~/nfs_mount
现在访问~/nfs_mount就像本地文件夹一样,传大文件比FTP快3倍!
3. Windows访问NFS(需手动开启功能)
Windows 10/11专业版/企业版自带NFS客户端:
- 控制面板→程序→启用或关闭Windows功能→勾选“NFS服务”→重启电脑
- 打开文件资源管理器,地址栏输入\\192.168.1.100\nfsroot(服务器IP+共享目录)
注意:家庭版Windows没有NFS客户端,得用Samba方案。
方案二:Samba——跨平台王者,Windows访问零障碍
1. Linux服务器端配置(以Ubuntu 22.04为例)
装Samba服务:
sudo apt install samba samba-common-bin -y
同样用/home/share作为共享目录,设置权限:
sudo chmod -R 777 /home/share
编辑Samba配置文件/etc/samba/smb.conf:
sudo nano /etc/samba/smb.conf
在文件末尾添加共享配置:
[MyShare]
path = /home/share
browseable = yes # 在网络可见
writable = yes # 可写
guest ok = yes # 允许访客访问(测试用,正式环境建议设密码)
添加Samba用户(输入密码用于Windows访问):
sudo smbpasswd -a 你的Linux用户名
重启Samba服务:
sudo systemctl restart smbd
2. Windows访问Samba共享(超简单)
- 打开文件资源管理器→地址栏输入\\192.168.1.100\MyShare(服务器IP+共享名)
- 弹出登录框,输入Samba用户名和密码,勾选“记住凭据”
图3:Windows 11文件资源管理器访问Samba共享服务器界面,显示共享文件夹列表
避坑指南:这些问题90%的人会遇到
1. Windows 11 24H2访问失败?
微软在24H2版本强制开启SMB签名,老NAS或Samba服务器可能不支持,导致报错“STATUS_INVALID_SIGNATURE”。
解决:按Win+R输入gpedit.msc→计算机配置→管理模板→网络→Lanman工作站→启用“启用不安全的来宾登录”→重启电脑。
2. 共享文件夹能看不能写?
- NFS:检查/etc/exports是否有rw权限,客户端挂载时加-o rw
- Samba:右键共享文件夹→属性→安全→添加“Everyone”用户,勾选“完全控制”
3. 防火墙拦截?
Linux放行端口:
sudo ufw allow 2049/tcp # NFS端口
sudo ufw allow samba # Samba端口(139/445)
Windows防火墙→允许应用通过→勾选“文件和打印机共享”
真实案例:大学如何用Samba共享教学资源?
西班牙University San Jorge通过Samba搭建跨平台共享系统,让Windows教师机和Linux服务器无缝同步课件,支持300+师生同时访问,出处:Digital Samba客户案例。他们的秘诀是:
- 按部门设置Samba用户组权限
- 启用SMB加密传输敏感数据
- 定期备份共享目录
工具推荐:图形化配置更简单
如果觉得命令行麻烦,试试Cockpit-file-sharing插件(适用于Fedora/Ubuntu Server),网页界面点几下就能配置NFS/Samba,支持权限管理和用户添加,小白也能轻松上手。
图4:Samba配置文件内容示例,包含共享目录及权限设置参数
最后说一句:局域网共享虽方便,别把敏感文件设为“所有人可写”!重要数据建议加密码,定期备份。按上面步骤操作,Windows和Linux互传文件再也不用U盘来回拷了~