关于NFSv4服务共享目录里的文件UID和GID显示为nobody的解决方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于NFSv4服务共享目录里的文件UID和GID显示为nobody的解决方法相关的知识,希望对你有一定的参考价值。
关于NFSv4服务共享目录里的文件UID和GID显示为nobody的解决方法
一、问题现象:
当我们使用NFSv4这个版本的NFS服务给客户端提供共享文件系统时,会产生共享文件夹下的文件的属主和属组都是nobody的现象,具体现象见下图:
二、问题原因:
造成UID和GID显示为nobody的原因是,nfsv4提供了称为rpc.idmapd 的守护进程,这个服务的配置文件是 /etc/idmapd.conf 。当收到来自客户端的加载请求时,该守护进程将处理UID 和 GID 映射,如果不对其进行配置,这个服务默认将共享目录内文件的UID和GID映射为nobody,见下图:
如果要使用idmapd服务,必须要分别在服务端和客户端的idmapd配置文件/etc/idmapd.conf中,去设置服务端和客户端主机的根域名Domain = domain.com (此处根据实际情况填写), 因为不确定这对测试环境是否有影响,所以采取在服务端端停掉这个服务,同时让NFS模块禁用idmapd服务的办法去解决问题。
四、操作步骤:
#本次环境采用vmware workstaion的虚拟机进行模拟,主机信息如下:
服务端:
主机名:NFSAP1
IP:192.168.137.132
操作系统版本:redhat6.5 x64
客户端:
主机名:TESTAP1
IP:192.168.137.142
操作系统版本:redhat6.5 x64
1、在服务端,安装NFS服务。
/naslog192.168.137.*(rw,sync,no_root_squash)
chkconfig --level 2345 nfs on
service nfs start
2 、在服务端,新建文件/etc/modprobe.d/nfs.conf,加入让NFS模块去禁用idmapd服务的选项。
echo "options nfsnfs4_disable_idmapping=1" > /etc/modprobe.d/nfs.conf
3、在服务端,重启NFS服务
service nfs restart
4、在服务端,停止idmapd服务
service rpcidmapd stop
5、在客户端,把挂载共享目录信息加入到文件/etc/fstab文件中。
echo"192.168.137.132:/naslog /naslog nfs4 defaults 0 0" >>/etc/fstab
6、在客户端,使用mount命令自动挂载共享目录。
mount -a
7、在客户端,查看共享目录下的文件属主属组,已经不是nobody了。
五、测试:
测试当删除正在被调用的文件时,文件描述符是否被释放。
1、在客户端共享目录下,新建一个文件abc.txt,并用tail命令去动态查看。
2、删除这个abc.txt文件。
#下图中删除1.txt后,在当前目录自动产生的临时文件属主和属组不是nobody。
本文出自 “sunwangbackup” 博客,请务必保留此出处http://sunwangbackup.blog.51cto.com/10866322/1953303
以上是关于关于NFSv4服务共享目录里的文件UID和GID显示为nobody的解决方法的主要内容,如果未能解决你的问题,请参考以下文章