带有idmap的NFSv4
NFS服务器上出现以下错误,请您告诉我如何解决这个问题?
细节: 系统:CentOS版本6.4,NFS:nfs-utils-1.2.3-36 # cat /etc/idmapd.conf [General] Domain = domain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody [Translation] Method = nsswitch Sep 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' 编辑:2013年9月3日10:41 请注意我使用的是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 编辑:Wed Jun 11 14:52:50 BST 2014 # getent passwd "0" | cut -d: -f1 root # getent passwd "500" | cut -d: -f1 user1 – # grep "^passwd" /etc/nsswitch.conf passwd: files 解决方法
我要稍微猜一下.如果您在NFS服务器上解析UID“0”或“500”,您会得到什么?这是他们的本地账户吗?
我建议的原因是,NFSv4是设计的,引用域中的帐户名,并试图避免以前版本的NFS中的“本地身份验证”.因此,它使用idmapd,它转换帐户名称 – 在NFS数据包中传递 – 将用户名转换为UID / GID. 正如你已经正确确定的那样,这看起来就像是在这里被打破了 – 所以我的问题是,你使用的认证域是什么,当你查询它时,你会得到UID 0和500的答案吗? 我看过类似的情况,例如与客户端相比,服务器正在查看LDAP(井,活动目录)目录的错误分支.因为它无法解析UID /用户名关系,所以它破坏了,并将这些用户转换为’nobody’. 你已经通过nsswitch配置了分辨率 – nsswitch对’passwd’说了什么? (主要在服务器上,因为问题似乎存在). 编辑: 然而,谷歌搜索的一个地方给了我: 因此接下来的问题是 – 您使用’sys’身份验证吗?我猜你的fstab是基于你的,在这一点上 – 这似乎是预期的行为 – 你的客户正在使用’sys’,因此传递UID / GID. idmapd抱怨,因为他们不是有效用户(他们是UID). 如果在您的客户端上,您“触摸”一个UID 500或0的文件,它在客户端和服务器上的外观如何(ls -l获取用户名,ls -ln获取uid)? 您可以考虑升级到Kerberos身份验证或类似,但从经验来看这是一项非常重要的工作. (尽管有一些相当方便的优点).我链接的那条消息(跟踪)意味着此错误消息会在以后的内核版本中停止弹出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |