关于NFSv4服务共享目录里的文件UID和GID显示为nobody的解决方法
2017-08-03 14:23
363 查看
关于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服务。
yum –y installnfs
vim /etc/exports
/naslog192.168.137.*(rw,sync,no_root_squash)
:wq
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。
3、使用lsof命令查看文件句柄没有被占用。
一、问题现象:
当我们使用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服务。
yum –y installnfs
vim /etc/exports
/naslog192.168.137.*(rw,sync,no_root_squash)
:wq
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。
3、使用lsof命令查看文件句柄没有被占用。
相关文章推荐
- chm文件打开后,只能看到目录,不显示内容解决方法
- 关于“http错误404-文件或目录未找到”的解决方法
- 关于shell脚本中报 “/bin/sh^M: bad interpreter: 没有那个文件或目录”的解决方法
- 关于“http错误404-文件或目录未找到”的解决方法
- 关于CPP文件损坏打开显示二进制数字的解决方法
- 关于inodes占用100%的问题及解决方法续集如何解决clientmqueue目录文件太多 推荐
- 附加自动命名的数据库 但失败。已存在同名的数据库 或指定的文件无法打开或位于 unc 共享目录中。【解决方法】
- samba共享文件能看到目录但看不到内容的解决方法
- windows新建或者重命名文件及目录必须手动刷新才干显示出来问题解决方法
- 解决360检测出文件目录列表显示漏洞的方法
- 关于PhotoShop中保存CMYK格式TIFF文件在GDI+错误地显示颜色的问题解决方法
- 关于“http错误404-文件或目录未找到”的解决方法
- vsftpd不能显示文件目录的解决方法
- 关于C++头文件#include<iostream.h>debug时提示文件目录不存在错误解决方法?
- 关于App在iTunes文件共享中无法显示的问题解决
- 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法
- .NET:关于byte数组在用StreamWriter文件写出后出现多余字符的解决方法及VS方案文件图标显示问题
- 关于“http错误404-文件或目录未找到”的解决方法
- 关于win7右下角显示“音频服务未运行”的解决方法
- 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中[解决方法]