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

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

maynowei1周前 (08-12)技术知识16

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

相关文章

IT博物馆之Objective-C诞生(micro博物馆)

1984年,Objective-C诞生。设计者:布莱德·考克斯(Brad Cox)、汤姆·洛夫(Tom Love)Objective-C是面向对象的通用、高级编程语言。它扩展了标准的 ANSI C,将...

微软宣布SQL Server 2016,2005版将结束支持

IT之家讯 在芝加哥Ignite大会上,微软宣布了SQL Server 2016,并将于今年夏季发布公开预览版。SQL Server是由微软开发的关系型数据库管理系统,用于软件应用请求数据的存储和管理...

Win10桌面/手机版最深层次开发功能挖掘

IT之家讯 Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用...

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

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

C语言进阶教程:线程同步:互斥锁、条件变量与信号量

在多线程编程中,线程同步是确保数据一致性和程序正确性的关键。当多个线程需要访问共享资源时,如果缺乏适当的同步机制,就可能导致竞态条件(Race Condition)、死锁(Deadlock)等问题。本...