下面的错误出现在NFS服务器上,请您告诉我如何解决这个问题。
详细信息:
系统: CentOS Version6.4,NFS: nfs 1.2.3-36
# cat /etc/idmapd.conf
[General]
Domain = domain.com
[Mapping]
Nobody-User = nobody
Nobody-Group = nobody
[Translation]
Method = nsswitchSep 3 08:25:28 snode1 rpc.idmapd[1382]: nss_getpwnam: name '0' does not map into domain 'domain.com'
Sep 3 08:25:29 snode1 rpc.idmapd[1382]: nss_getpwnam: name '500' does not map into domain 'domain.com'请注意,我使用的是NFSv4,这些错误仅出现在NFS服务器上(而不是NFS客户端)。
服务器:
# cat /etc/sysconfig/nfs
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
...
RPCNFSDARGS="-N 2 -N 3"客户:
# cat /etc/fstab
server:/ /data nfs4 defaults,hard,intr,timeo=15,_netdev,noatime,nodiratime,nosuid 0 0# getent passwd "0" | cut -d: -f1
root
# getent passwd "500" | cut -d: -f1
user1-
# grep "^passwd" /etc/nsswitch.conf
passwd: files发布于 2014-06-11 10:40:22
我来猜猜看。如果您在NFS服务器上解析UID“0”或“500”,您会得到什么?它们是本地帐户吗?
我建议这样做的原因是,NFSv4通过设计引用域中的帐户名,并试图避免使用以前版本的NFS的“本地身份验证”。因此,它使用idmapd来翻译帐户名--在NFS数据包中传递--将用户名转换为UID/GID。
正如您正确确定的那样,这看起来就是这里的漏洞--所以我的问题是,您使用的是什么身份验证域,当您查询它时,您得到了UID 0和500的答案吗?
我也看到过类似的情况,例如,与客户机相比,服务器查看了LDAP (好,活动目录)目录的错误分支。由于无法解决UID/用户名之间的关系,因此它破坏了这些用户,并将其转换为“任何人”。
您已经通过nsswitch配置了分辨率- nsswitch对“passwd”说了什么?(主要是在服务器上,因为那里似乎存在问题)。
编辑:好的,根据您的“passwd”,您有“文件”作为您的本地数据库-例如/etc/passwd。这意味着您正在通过本地帐户映射UID/GID。您不应该在NFSv4中使用UIDs它应该是用户名。
然而,googling给了我一点:http://www.spinics.net/lists/linux-nfs/msg38598.html
因此,接下来的问题是-您在使用'sys‘身份验证吗?我猜,基于您的fstab,在这一点上--这似乎是预期的行为--您的客户端正在使用'sys‘,因此传递了UID/GID。idmapd抱怨是因为他们不是有效的用户(他们是UID)。
如果在客户端上“触摸”UID 500或0的文件,那么在客户机和服务器(ls -l获取用户名,ls -ln获取uid)上它是什么样子的呢?如果工作正常,这似乎是NFSv3 Auth和NFSv4之间向后兼容性的产物,并且消息是无害的。
您可以考虑升级到Kerberos身份验证或类似的,但从经验来看,这是一个不平凡的练习。(尽管有一些比较方便的优点)。我所链接的消息(trail)意味着在以后的内核版本中停止出现该错误消息。
发布于 2013-09-03 09:06:33
您似乎使用的是NFSv3,它只通过网络发送数字用户和组标识符。
为了使idmapd工作,您将需要使用NFSv4,它发送由idmapper理解并映射到本地帐户的用户@域标识符(因此在服务器和客户端上都不需要相同的uid/gid )。
尝试使用-t选项挂载该共享:
mount -t nfs4 server:/path /mountpoint发布于 2014-06-10 14:06:51
请检查以下来自gentoo论坛的解决方案是否帮助您:
1. On the NFS server, /etc/hostname did not contain the FQDN, just the local hostname.
2. This particular client had an unconfigured /etc/idmapd.conf. It had Domain = localdomain instead of Domain = FQDN-minus-hostname. 对于您的设置,这看起来像第二个选项。
谷歌提供了准确的错误信息"nss_getpwnam: name '0‘不映射到域“,它提供了大量的结果,这些结果可能对您也有帮助(刚刚指出了最有希望的结果)。
https://serverfault.com/questions/535809
复制相似问题