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

相关推荐
带土11 小时前
3. vim上手
linux·编辑器·vim
prettyxian2 小时前
【linux】基础开发工具(2)vim
linux·vim
西岭千秋雪_2 小时前
Zookeeper监听机制
java·linux·服务器·spring·zookeeper
冬夜戏雪2 小时前
[尚庭公寓P91-P104-及服务器服务的连接]
运维·服务器
狮子座的男孩2 小时前
js基础:08、构造函数(共享方法)、原型(prototype)、原型对象、(修改原型)toString方法、垃圾回收
前端·javascript·经验分享·prototype·垃圾回收·构造函数·原型对象
Jewel Q2 小时前
防火墙NAT策略处理流程
运维·服务器·网络
失重外太空啦2 小时前
NFS服务器的搭建
运维·服务器·网络
矮油0_o3 小时前
15.套接字和标准I/O
服务器·c语言·网络·网络编程·socket
利刃大大3 小时前
【高并发服务器】十二、LoopThreadPool线程池管理模块
服务器·c++·项目
爱奥尼欧3 小时前
【Linux笔记】网络部分——网络层IP协议
linux·网络·笔记