将本地用户的UID和GID映射到已安装的NFS共享

我有一个NFSv4的服务器。 我将远程用户的主文件夹的内容挂载到本地主机。 能够读取和写入内容,但是当我从本地主机检查装入卷上的文件的所有权时,它们全部属于对应的远程用户和组(512)。 有没有办法使它看起来像属于本地用户和本地主机上的组(1000)?

远程主机上的/ etc / exports (IP为192.168.1.110)

/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512) 

本地主机上的/ etc / fstab (IP为192.168.1.142)

 192.168.1.110:/home/user512 /home/localuser/projects/project512 nfs rw,hard,intr,rsize=32768,wsize=32768 0 0 

这是idmapping所要做的。 首先,启用在客户端和服务器上:

 # echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping 

清洁idmapcaching并重新启动idmap守护进程:

 # nfsidmap -c # service rpcidmapd restart 

现在在服务器上,客户端将发送而不是数字IDstring主体像[email protected] 。 您需要在两台主机(客户机和服务器)上都有bob帐户。 不过,数字ID可以不同。

你有所有的作品。 从导出手册页, all_squash将所有uid和gid映射到匿名版本。 然后你强制这些值为512.如果你将它们更改为1000,那么远程主机上的nfs服务器将使得所有的1000。

在您的nfs客户端上,编辑/etc/idmapd.conf并更改

 [Mapping] Nobody-User = myappuser Nobody-Group = myappuser 

此后重新启动nfs服务