服务器: CentOS 7.3.1611,启用了NFS4。 在/etc/idmapd.conf域中= my.domain.com本地用户创build为“user”,目录通过NFS导出:/ home / user / Documents
客户端:已join到AD Realm的Fedora 25:my.domain.com AD用户login工作正常。 sssd.conf已被更改,所以用户名只是'user'而不是'[email protected]'。 所以家庭目录/家庭/用户自动创build。 我已经改变了/etc/idmapd.conf与NFS服务器(my.domain.com)具有相同的域。
现在:在客户机上,我想从CentOS NFS服务器上通过NFS4挂载/ home / user / Documents。
挂载成功,但UID映射是错误的。 所以在客户端上,目录/ home / user / Documents是从NFS服务器挂载的,但是uid = 1002是NFS服务器上的'user'的UID,但是这不是正确的user'user'客户端(UID 709001103)。
$ mount -t nfs4 -vvv server:/user/Documents /home/user/Documents mount.nfs4: timeout set for Wed Mar 8 15:54:45 2017 mount.nfs4: trying text-based options 'vers=4.2,addr=192.168.95.17,clientaddr=192.168.95.28' $ ls -l /home/user/ drwxr-xr-x. 2 user domain users 4096 Mar 8 14:26 Desktop drwxrwxr-x. 2 1002 1002 18 Mar 8 14:36 Documents drwxr-xr-x. 2 user domain users 4096 Mar 8 14:26 Downloads
(我不明白ls -l将用户名显示为“用户域”而不是“用户”)的事实。
关于需要做什么以确保客户端和服务器之间的用户映射的任何想法是正确的? 预先感谢您的帮助。
默认情况下,如果mount不使用auth_gss,则客户端和服务器在线路上使用数字UID。 要强制执行string主体,您需要
echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping
和
echo N > /sys/module/nfsd/parameters/nfs4_disable_idmapping
在客户端和服务器上,注意,在服务器上它是/ sys / module / nfsd 。 使其成为永久的,将其添加到/etc/modprobe.d/nfs.conf:
echo "options nfs nfs4_disable_idmapping=0" > /etc/modprobe.d/nfs.conf
和
echo "options nfsd nfs4_disable_idmapping=0" > /etc/modprobe.d/nfsd.conf