NFSv4 和 idmapd、pam_mount 及自动挂载的竞争条件

NFSv4 和 idmapd、pam_mount 及自动挂载的竞争条件

我们用 automount 挂载了 NFSv4+krb5 共享,运行正常。我们现在尝试用 nfs4 和 automount 挂载主目录。我们挂载了目录,但仍有一些目录/文件被挂载为“nobody”。手动挂载同一个目录不会给我们带来问题。所以我决定使用 挂载这些主目录pam_mount。对我来说,它运行正常,但有些用户仍然会得到nobody。如果我登录到他们的机器并重新启动nfs-imapd,文件的所有权就会得到修复。

这可能是 pam_mount/automount 和 之间的竞争条件吗nfs-idmapd?如果是这样,有什么解决方法吗?

答案1

NFSv4 stat() 所有者/组结果以文本“用户@域”标签而不是 UID/GID 的形式传输。域不是很重要,但它需要在所有客户端和服务器之间匹配。(这不会影响实际的基于 UID 的使用权用户获得的信息——它只会影响ls -l结果。

如果您不断收到nobody,则 idmapd 可能在启动时不知道您的域名。例如,如果您在 /etc/hosts 中没有 FQDN,则 idmapd 需要查询 DNS,并且它可能在网络(以及 DNS)可用之前启动。

尝试专门为 idmapd 定义域:

/etc/idmapd.conf
[一般的] 域名 = example.com

或通过以下方式在全球范围内hosts

/etc/hosts
# 服务器自己的 IP 地址(如果是静态的) 10.2.3.4 foo.example.com foo

答案2

问题是由于正则表达式规则错误/不完整造成的。我当时正在使用 idmapd 的正则表达式插件,但规则出了问题。更改后,一切又恢复正常。

相关内容