NFS客户端与服务端用户不一致问题

场景

192.168.1.1机器 挂载了192.168.1.2机器上面的/dir/mountfiels目录

c 复制代码
mount -t nfs 192.168.1.2:/dir/mountfiels /dir/mountfiels

问题

在192.168.1.1机器上使用用户A运行一个程序,程序写出一个文件到共享目录中,共享目录中文件的用户和用户组不是用户A

排查

  1. 首先在两台机器上查看对于用户A的定义用户id是否相同

    192.168.1.1机器执行:id <用户A>

    192.168.1.2机器执行:id <用户A>

    查看两台机器的用户id是否相同

    如果不相同,可以通过命令 usermod -g <用户id> <用户A>,修改用户的用户id

  2. 在nfs服务器端查看/etc/exports

powershell 复制代码
cat /etc/exports
/dir/mountfiles *(rw,sync,all_squash,anonuid=1001,anonuid=1001,insecure)

其中,anonuid=1001, anongid=1001 这两个参数指定了映射目录文件的用户和用户组
如果是0的话表示root用户

  1. mount执行挂载报错 mount.nfs: access denied by server while mounting 192.168.x.x:/xxx

解决:修改配置文件/etc/exports,加入 insecure 选项,然后重启nfs服务

powershell 复制代码
systemctl restart nfs-server.service
systemctl restart rpcbind

insecure:secure 选项要求mount客户端请求源端口小于1024(然而在使用 NAT

网络地址转换时端口一般总是大于1024的),默认情况下是开启这个选项的,如果要禁止这个选项,则使用 insecure 标识

相关推荐
chlk12314 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑15 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件15 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
Sinclair2 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
Rockbean3 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek