NFS用户映射

我有两台安装了CentOS 6.4的机器连接在同一个专用networking上。

其中之一是作为NFS服务器的目的,另一个是客户端。

在服务器机器(服务器)上,我通过将行添加到/etc/exports文件来导出目录/net/directory

 /net/directory *(rw,sync,no_root_squash) 

服务启动后,我去了客户端,并将挂载点添加到/etc/fstab

 server:/net/directory /client/directory nfs defaults 0 0 

然后安装

 # mount /client/directory 

问题是,当我从客户端的挂载点内创build一个新的文件/目录时,该文件将被映射为nobody:nobody作为服务器端的未知用户创build。

这是一个例子(澄清)

在客户端,只有名为testuser的用户和组名称相同

  • 用户名:testuser
  • UID:1001
  • GID:1001

在客户端,我创build一个文件作为testuser

 [testuser@client ~]# touch /client/directory/test 

然后列出目录内容

 [testuser@client ~]# ls -l /client/directory total 0 -rw-r--r--. 1 nobody nobody 0 Jul 2 16:46 test 

但是在服务器端,一切都如预期的那样:

 [root@earth ~]# ls -l /net/directory total 0 -rw-r--r--. 1 1001 1001 0 Jul 2 16:46 test 

我想在客户端的相同的结果:

– 该文件必须与UID:GID一样为1001:1001

我究竟做错了什么? 这是服务器还是客户端问题?

我search了几个NFS手册,没有任何帮助。

有谁知道我该怎么做(没有在服务器端创build用户)?

谢谢。

检查/etc/idmapd.conf中的域在客户机和服务器上是否相同。 检查rpc.idmapd是否在客户端和服务器上运行。 当然,用户应该存在于客户端和服务器上。 NFSv4在用户线上使用用户主体,提供一个propper映射负责客户端和服务器。 当你使用AUTH_SYS本地uid / gid传播到创build的服务器上,但是'ls'需要映射才能工作。