OpenEuler搭建NFS服务完整实操(mount.nfs: access denied排错)
OpenEuler 配置 NFS 网络文件共享实验
一、NFS简介
NFS(Network File System,网络文件系统),用于Linux主机之间通过局域网共享目录。
服务器发布共享目录,客户端通过mount挂载到本地,操作如同本地文件夹。
NFS:Linux↔Linux共享;
Samba:Linux↔Windows共享。
实验环境
- 操作系统:OpenEuler
- 服务器IP:192.168.119.134
- 两台虚拟机网卡全部设置为NAT模式,保证同一网段互通
- 服务端软件包:nfs‑utils;客户端软件包:nfs‑utils
实验要求
- 将
/home/share目录共享出去,供192.168.1.0/24网段读写,其余主机仅只读。 - 将
/nfs/public目录共享,供*.mlx.com域读写;允许大于1024端口;所有用户映射匿名nfsnobody;sync同步写入,no_wdelay立即执行写操作。

二、NFS服务端操作
1.安装软件包
dnf install -y nfs-utils
2.创建共享目录
mkdir -p /home/share
mkdir -p /nfs/public
3.编辑配置文件/etc/exports
vi /etc/exports
写入:
4.设置目录权限,
⚠️ 注意:chmod 777仅虚拟机实训环境使用,生产环境严禁使用 777 高危权限!
chmod 777 /home/share
chmod 777 /nfs/public
5.启动nfs服务,加载共享
systemctl enable --now nfs-server
exportfs -r #重载配置
exportfs -v #查看生效共享参数
showmount -e localhost
6.关闭防火墙与SElinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
systemctl status firewalld
三、客户端操作
1.安装工具,测试联通性
dnf install -y nfs-utils
ping 192.168.119.134
2.挂载nfs共享
mount -t nfs 192.168.119.134:/home/share /mnt
mount -t nfs 192.168.119.134:/nfs/public /media
3.验证挂载与读写
df -h #查看挂载状态

touch /media/tese.txt #客户端创建测试文件。笔误,本意 test.txt
ls /media

四、踩坑与故障排错
故障 1:mount.nfs: access denied by server while mounting
现象:客户端挂载直接拒绝访问
原因:exports 配置限制域名*.mlx.com,客户端 IP 不匹配该域名规则。
解决:修改 exports 为允许对应网段或者*,执行exportfs -r重载。
故障 2:df‑h 显示挂载成功,ls /media 提示 Permission denied
现象:挂载成功,但是访问目录权限拒绝
原因:
- all_squash 将客户端全部用户映射匿名 nfsnobody;
- 目录权限 770,匿名用户无访问权限;
- 前期虚拟机网卡模式不一致,网络排错干扰。
解决: - 两台虚拟机统一 NAT 模式,保证网络互通;
- 服务端执行
chmod 777 /nfs/public; exportfs -r重载配置;- 客户端 umount 卸载,重新 mount 挂载。
故障 3:exportfs‑r 警告 Neither’subtree_check’ or ‘no_subtree_check’ specified
现象:配置加载成功,但输出警告
解决:在每一条 exports 配置增加参数no_subtree_check消除警告。
五、关键参数说明
表格
| 参数 | 说明 |
|---|---|
| all_squash | 所有客户端用户映射匿名 nfsnobody |
| no_root_squash | 客户端 root 不映射匿名用户(实训常用) |
| sync | 数据同步写入磁盘 |
| insecure | 允许客户端使用大于 1024 端口连接 |
总结
- NFS 权限双重校验:exports 配置参数 + 服务器本地目录权限,两者缺一不可。
- all_squash 开启时,共享目录必须给匿名用户访问权限。
- 修改 /etc/exports 后必须执行
exportfs -r才会生效,不需要重启服务。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)