NFS4:/etc/idmapd.conf 的变化会产生什么影响?

NFS4:/etc/idmapd.conf 的变化会产生什么影响?

我们一直在努力解决以下问题:RHEL 6.3 客户端上的 NFS4 安装显示文件所有权为“nobody”,并且我们在 /var/log/messages 中看到“nss_getpwnam:名称‘blah’未映射到域‘localdomain’”。我们知道修复方法是确保服务器上 /etc/idmapd.conf 文件中的域与客户端上的域匹配。问题是这样的:

如果我们修复了客户端上的域,则需要重新启动它们才能看到它正常工作。无论重新启动多少次 nscd、nfs、rpcbind、rpcgssd、rpcidmapd 或 rpcsvcgssd 都无法启用修复。它们也不会与分区的卸载/挂载协同工作。事实上,在我们修复问题并重新启动客户端后,我们关闭了 rpcidmapd,正确的名称映射仍然在机器上进行。

为什么我们需要重启机器才能使 idmapd.conf 更改对域生效?内核是否保留了某些东西?谢谢。

答案1

内核向上调用 idmapd 守护进程来获取映射。由于这是一项非常昂贵的操作,因此结果会被缓存。要清除缓存,请运行:

# nfsidmap -c

该命令在 RHEL6.3(及克隆版本)中可用,并且是 nfs-utils 包的一部分。

相关内容