NFS 用户权限问题

Posted

技术标签:

【中文标题】NFS 用户权限问题【英文标题】:NFS user permissions issue 【发布时间】:2015-03-31 09:43:23 【问题描述】:

我在 NFS 共享中的文件所有权方面遇到了一个非常奇怪的问题。

我使用的服务器都是CentOS 6.5,我使用的nfs-utils版本是nfs-utils-1.2.3-39。

在我的存储服务器(实际存在 NFS 共享)上,我有一个 tomcat 用户和一个 tomcat 组,用户 ID 为 91,组 ID 为 91。我可以创建我想要共享的目录和chmod 到 tomcat:tomcat。

在我的客户端服务器上,我可以成功挂载共享空间。我还有一个 tomcat 用户和一个 tomcat 组,用户 ID 为 91,组 ID 为 91。我从客户端服务器在共享内创建文件和目录,文件归 tomcat:tomcat 所有。

在存储服务器上,我确实可以看到新文件现在存在并且归 tomcat:tomcat 所有。但是在客户端服务器上,文件归nobody:nobody (uid:gid of 99:99) 所有。

经过一番挖掘,我恢复了客户端服务器,删除了共享目录的内容并将存储服务器上共享目录的所有权更改为nobody:nobody(uid:gid of 99:99),然后我重建客户端服务器。同样的问题依然存在。

我做错了什么,我该如何解决?我需要共享目录归 tomcat:tomcat 所有,并且我需要能够从共享目录中的客户端服务器创建文件,这些文件也归 tomcat:tomcat 所有。

【问题讨论】:

【参考方案1】:

在您的 NFS 服务器上,您设置了 root_squash - 所有对 NFS 的请求都被转换为匿名用户(这是正常的 NFS 行为)。如果需要,重新配置您的 NFS。

【讨论】:

以上是关于NFS 用户权限问题的主要内容,如果未能解决你的问题,请参考以下文章

群晖NFS 共享权限设置

NFS 权限

NFS 深入配置

linux当前用户没有挂载目录下的权限

解决 Docker 数据卷挂载的文件权限问题

linux挂载nfs touch报权限不够