为什么 NFS 无法识别新的 UID?

为什么 NFS 无法识别新的 UID?

我有两台运行 RHEL6 的服务器。我有可以同时访问两者。主服务器(我将称之为server)是数据库服务器。应用服务器(我将称之为)通过 NFSclient安装目录。server

appuser在 和 上client都有用户server。但是appuser上的 UIDclient502appuser上的 UIDserver506

两个用户都需要对 NFS 共享具有读写权限。为了实现这一点,我将共享设为appuser拥有server

id appuser每次运行都会得到: uid=506(appuser)

当然,client不承认所有权,因为appuser上的 id 不同client。所以我做了以下事情:

  • 将 /etc/passwd 中的用户 UID 更改client为 506。

  • appuser将 的 $HOME所有权再次更改client为 ,appuser以便我可以登录。

现在,当我从侧面查看 NFS 共享时client,我发现它归 拥有502502是客户端上的旧 ID appuser。 我无法从 更改 NFS 共享的所有权client,因为这是一个物理上位于 上的卷server

我需要确保 NFS 共享显示appuserserver的所有权client

自从更改客户端上的 ID 以来,我错过了什么步骤appuser

笔记:我还没有重新启动client(或做其他任何事情)。

答案1

id appuser可能会显示 shell 仍然看到用户的旧 UID。注销并重新登录。

答案2

好的!我找到了。尝试了很多次后,终于在 Bing 上找到了。仍然不确定问题究竟修复了哪个部分,有两种可能。但它们在这里。

互联网上有人说 NFS v4 可能存在客户端所有权权限问题。我不知道这是否属实,我也不关心。有人提出了他们所谓的解决方案。所以我按照说明强制客户端将驱动器安装为 NFS 版本 3。所以我做的第一件事就是将 /etc/fstab 中的安装行权限从以下内容更改为:

rw,hard,intr

更改为:

rw,hard,intr,vers=3

另外,我启动了客户端上的 nfs 守护进程,只是因为有人说要这么做:

service nfs start

然后,因为我遵循一些过时的说明,我检查了该portmap服务是否在客户端上运行:

service portmap status

并受到了以下欢迎:

portmap: unrecognized service

然后我发现portmap现在被卷入了rpcbind。所以:

service rpcbind status

我看到:

rpcbind dead but pid file exists

然后:

[root@myserver customers]# service rpcbind restart
Stopping rpcbind:                                          [FAILED]
Starting rpcbind:                                          [  OK  ]

然后我检查了 NFS 共享的所有权,它是正确的!

答案3

文件所有权通过用户 ID 保存。当您查看这些文件并发现它们在appuser502 -> 506 更改之前为所有者时,它们实际上属于用户 ID 502(ls -n将确认)。这没有改变。

因此,如果您想appuser以所有者身份查看,则必须将文件的所有权从 502 更改为 506。您可能必须这样做在服务器上如果您在客户端上没有权限。

如何更改权限是另一个话题。如果您无权访问服务器,您可以尝试使用新用户复制文件(假设您具有只读访问权限)并稍后删除它们。如果您临时创建一个 ID 为 502 的用户,该用户将能够更改 502 拥有的文件的权限(但不是所有权),重命名它们或在复制它们后删除它们,这可能会更容易。

答案4

我在 solaris 11 上遇到了同样的问题。

systema:与 systemB 共享的 zfs 文件系统 - 文件归用户 davida UID 305 所有 systemb:从 systemA 挂载的文件系统 - 创建了本地用户 davida,用户 UID 为 304

nfs 共享目录的权限为 755,文件的权限为 700。systemb 上的 davida UID 304 无法打开文件。

将 systemB 上 davida 的 UID 更改为 305

卸载 nfs 文件系统,并将系统 B 上的用户 ID davida 更改为 UID 305,以匹配系统 A。

已重新挂载 nfs 文件系统。文件仍显示所有者为 UID 304

为什么 ???

相关内容