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

相关推荐
月明长歌7 分钟前
【码道初阶】【LeetCode 110】平衡二叉树:如何用一个“Magic Number”将复杂度从O(N²)降为 O(N)?
linux·算法·leetcode
专家大圣8 分钟前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
齐鲁大虾17 分钟前
国产 Linux 系统核心优缺点与适用场景
linux·运维·服务器
小鹿学程序37 分钟前
FileZilla连接到虚拟机
java·服务器·开发语言
skywalk816341 分钟前
webvm 用浏览器启动的虚拟环境
linux·wasm
Awkwardx1 小时前
Linux网络编程—数据链路层
linux·运维·网络
kevin_水滴石穿2 小时前
在镜像生成时从内网获取字体安装包并配置
linux·docker·容器
liwenzhen20052 小时前
Linux OOM 问题之 DMSERVER 受害者
linux·运维·oom
大聪明-PLUS2 小时前
Linux 系统中的电池衰减
linux·嵌入式·arm·smarc
qq_310658512 小时前
mediasoup源码走读(十)——producer
服务器·c++·音视频