NFS4 + idmap,用户名映射不正确

NFS4 + idmap,用户名映射不正确

我尝试尽可能严格地遵循 ubuntu nfs4 文档。我的客户端计算机显示的文件所有权不正确。

这是我两台机器上的 idmapd.conf 文件:

[General]

Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nogroup

[Translation]
Method=nsswitch

然而,客户端根据数字 uid/gid 显示文件的所有权,而不是映射用户名和组名。我在两台机器上拥有相同的用户名,但 uid 不同。因此,当我在客户端上使用 ls -l 命令查看目录时,它会显示文件由另一个用户拥有,该用户与服务器上的目标用户共享相同的 uid。

我究竟做错了什么?

答案1

该文件看起来正确,也许idmapd守护进程没有在其中一台机器上运行(请检查pgrep rpc.idmapd)?

mount安装实际上是通过 NFS4 完成的吗?检查客户端上的输出。

可能可以idmapd使用 TCP 包装器阻止守护进程。文件/etc/hosts.deny和是否/etc/hosts.allow存在且有任何内容?

请注意,即使你得到它展示客户端上正确的用户名,它将不行随心所欲。每当您尝试访问文件时,权限检查仅使用数字 ID 进行(客户端和服务器之间没有任何转换)。转换仅针对 的输出进行ls,而不是针对实际的文件访问。所以我想您可以完全停止尝试,因为这可能不是您想要的。

唯一的解决方案是同步客户端和服务器上的 ID,或者使用 Kerberos(非常复杂的)。

我的信息来源是Launchpad 上的此错误报告linux-nfsv4 邮件列表中的这个主题

相关内容