当前位置: 首页 > news >正文

MacOS 如何连接 Linux NFS 服务器

Ubuntu 为例。

Ubuntu 服务器端设置

1. 进入 root 权限,安装 NFS 服务:

apt-get update
apt-get install nfs-kernel-server

2. 创建共享目录:

mkdir /data
chown nobody:nogroup /data
chmod 777 /data

3. 配置 /etc/exports 文件:

 vi /etc/exports

添加:

/data 192.168.1.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
  • rw:读写权限。
  • sync:确保数据实时同步写入到磁盘,防止数据丢失。
  • insecure:允许从非特权端口发起的连接。
  • no_subtree_check:关闭子目录检查,提高性能。
  • no_root_squash:允许客户端以 root 身份访问(适用特定需求)。

4. 重新加载 NFS 配置

exportfs -rav

5. 启动并检查 NFS 服务

systemctl restart nfs-kernel-server
systemctl enable nfs-kernel-server
systemctl status nfs-kernel-server

6. 检查共享目录:

exportfs -v

Mac 客户端设置

在 Mac 中可以通过命令行和图形界面连接到 NFS 服务器。

1. 通过命令行 mount 挂载

mkdir ~/NFS
mount -t nfs 192.168.1.111:/data ~/NFS

2. 通过图形界面连接到 NFS 服务器

在 Mac 上,点击桌面菜单栏中的 前往 > 连接服务器。在弹出的窗口中,在服务器地址栏输入以下内容:
在这里插入图片描述

3. 自动挂载

打开 /etc/fstab:

vi /etc/fstab

添加:

192.168.1.100:/data /Users/your_username/NFS nfs rw,auto,nofail 0 0

即可!

常见问题排查

1. 权限不足

  • 确保共享目录的权限适配你的需求(如 777 开放权限)。
  • 检查 Mac 客户端用户是否有写权限。

2. 防火墙问题

在 Ubuntu 上允许 NFS 服务通过防火墙:

ufw allow from 192.168.1.0/24 to any port nfs
ufw allow from 192.168.2.0/24 to any port nfs

3. 挂载失败

  • 确保 Mac 可以 ping 通 Ubuntu。
  • 确认 /etc/exports 文件中配置无误。

4. 多个子网

如果客户端所属多个子网网段,需将每个网段都写上.

/data 192.168.1.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
/data 192.168.2.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

5. insecure 参数未配置

如果 MacOS 访问不到,切记需要将 insecure 参数加上。这个问题很多同学都遇到过,可以展开详细的说说。

insecure 的作用

insecure 是 macOS 挂载 NFS 时的关键配置,特别是使用 Finder 挂载。如果没有这个选项,macOS 使用的高端口会被服务器拒绝,从而导致挂载失败。

默认情况下,NFS 服务器只接受从 特权端口(小于1024) 发起的连接。这是因为只有 root 用户能够使用特权端口,从而防止普通用户模拟特权连接。

添加 insecure 后,NFS 服务器会接受来自 非特权端口(大于1024) 的连接。这是为了兼容一些客户端(例如 macOS Finder)在非特权端口发起的请求。

insecure 的潜在安全问题
  1. 绕过端口限制:
  • 默认情况下,要求客户端使用特权端口是一种简单的安全措施,可以减少普通用户伪装成受信任客户端的风险。
  • 启用 insecure 后,攻击者可以从非特权端口发起请求,更容易伪造连接。
  1. 暴露于恶意客户端:
  • 如果你的网络环境不安全(如公网或存在不受信任的设备),启用 insecure 可能会允许未经授权的客户端连接并访问数据。
  1. 结合其他不安全配置的风险:
  • 如果同时启用了 no_root_squash,恶意客户端可能以 root 身份访问共享目录,导致数据被修改或删除。
何时使用 insecure 是可以接受的?

在以下场景中,insecure 是可以接受的:

  1. 内部网络环境:
  • 如果你的 NFS 服务器和客户端在一个受信任的局域网中,且没有外部访问(如防火墙限制),使用
    insecure 是可以接受的。
  1. 兼容特定客户端:
  • 一些客户端(如 macOS Finder)需要使用非特权端口才能挂载 NFS,因此 insecure 是必需的。
http://www.lryc.cn/news/494568.html

相关文章:

  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-39
  • 摄影相关常用名词
  • 02.06、回文链表
  • Shell脚本小练习
  • 四轮转向轮式里程计设计(python)
  • 多方法做配对样本t检验(三)
  • Vue 将推出「无虚拟DOM」版本,又是新的前端框架趋势?
  • 阿里云ECS服务器磁盘空间不足的几个文件
  • 从0开始linux(38)——线程(1)线程概念
  • Ubuntu源码安装gitlab13.7集群多前端《二》
  • 身份证OCR 识别 API 接口的发展前景
  • Spring boot之BeanDefinition介绍
  • 30分钟学会正则表达式
  • Python 自动化办公的 10 大脚本
  • Python蒙特卡罗MCMC:优化Metropolis-Hastings采样策略Fisher矩阵计算参数推断应用—模拟与真实数据...
  • 成绩排序
  • MySQL底层概述—7.优化原则及慢查询
  • R““有什么作用在C++中,举例说明
  • linux中top 命令返回数据解释
  • 深入理解二叉树及其变体:平衡二叉树、红黑树、B-树和B+树
  • C++ 编程技巧之StrongType(1)
  • 芯片测试-smith圆图
  • HTML技术深度解析:构建现代网页的基石
  • Leecode刷题C语言之判断是否可以赢得数字游戏
  • Ubuntu 关机命令
  • 数据采集中,除了IP池的IP被封,还有哪些常见问题?
  • 【Anaconda】 创建环境报错:CondaHTTPError: HTTP 000 CONNECTION FAILED for url
  • 社交电商破局之“2+1 链动模式 O2O 商城小程序源码”赋能流量困境突围
  • 【ArcGIS Pro微课1000例】0062:ArcGIS Pro3.3.1中文版安装教程(附安装包下载)
  • Linux - web服务器