当前位置:首页 > 技术知识 > 正文内容

配置 NFS 或 Samba 实现局域网共享文件夹:兼容 Windows 和 Linux

maynowei8个月前 (08-12)技术知识166

家里同时有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盘来回拷了~

相关文章

webview 渲染机制:硬件加速方式渲染的Android Web

webview 渲染是什么?webview 渲染是用于展现web页面的控件; webview 可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于 webview 模式进行二次开发的w...

android培训学习的大纲(安卓app培训)

第一阶段android基础:1.基础javaJava概述,进制,数据类型,常量变量,运算符,表达式关系运算符,逻辑运算符,if语句,switch语句while循环,do...while循环,for循环...

Android让视图折叠(安卓叠加视图设置)

Android UI Libs之ExpandableLayout1. 说明ExpandableLayout,顾名思义,可扩展的布局,是一个可以帮助我们实现折叠功能的第三方库,折叠时,只显示头部,打开时...

Django 官方推荐的姿势:类视图(django类视图和函数视图哪个好)

作者:HelloGitHub-追梦人物在开发网站的过程中,有一些视图函数虽然处理的对象不同,但是其大致的代码逻辑是一样的。比如一个博客和一个论坛,通常其首页都是展示一系列的文章列表或者帖子列表。对处理...

CPU「离奇」飙到 100%!开发者挖出 Linux 内核 16 年老 Bug:这么多年竟无人发现?

【CSDN 编者按】每一次对旧设备的升级都仿佛是一场跨越时代的冒险。本文作者致力于将基于 PXA166 的 Chumby 8 设备从 Linux 2.6.28 版本升级到现代 6.x 版本,然而,在看...

分析 Rust 程序的火焰图(rust火吗)

分析 Rust 程序的火焰图(Flame Graph)是定位性能瓶颈的核心手段,其核心是通过可视化的函数调用栈和时间分布,找到 CPU 耗时、内存分配、锁竞争等热点。以下是详细的分析方法和步骤,结合...