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 标识

相关推荐
计算机小手20 分钟前
Docker 部署 weserv-images:打造非侵入式图片处理中间件
图像处理·经验分享·docker·中间件
2301_7809438422 分钟前
linux 对文件打补丁(Patch)
linux·运维·服务器
三流架构师32 分钟前
高中地理资源合集
经验分享
敬往事一杯酒哈33 分钟前
Ubuntu 20.04 安装Anacada
linux·运维·ubuntu
Lam㊣35 分钟前
服务器端口转发的方法
linux·服务器
zxnbmk36 分钟前
【7】Kubernetes存储(本章知识密度较高,仅浅浅了解后续详解)
linux·云原生·容器·kubernetes
ChangYan.36 分钟前
Windows命令行(cmd)下快速查找文件路径(类似Linux下find命令)
linux·运维·服务器
tao3556671 小时前
VS Code登录codex,报错(os error 10013)
java·服务器·前端
Hey小孩1 小时前
[个人总结] LDD3:3.字符驱动 - scull(4)
linux·驱动开发
陈让然1 小时前
VS Code新版本无法连接WSL ubuntu18.04
linux·运维·ubuntu