最近在开发时使用nfs远程挂载目录时,出现了图片上传失败,经过一系列排查。
查看了上传目录,所属用户却是nfsnobody,如下所示:
$ ll -d /web/img
drwxr-xr-x 7 nfsnobody nfsnobody 4096 Sep 4 14:06 /web/img
这直接导致了apache没有权限写入文件。
解决方案有以下几项:
- 方案一:
把上传目录授予最大的权限,chmod 777 img。强行修改文件夹权限为所有人可读写执行,但安全性低,治标不治本。 - 方案二:
修改 /etc/idmapd.conf 文件的Domain参数,当服务端和客户端的Domain参数都设置一样之后,再重新挂载,就一切正常了。
具体的修改流程是:编辑 idmapd.conf 文件,取消Domain前面的注释,改为你所使用的根域名,保存。
重启idmapd服务:service rpcidmapd restart - 方案三:
在mount挂载时指定使用v3版本
mount -t nfs -o vers=3 ip:/img /web/img
转载链接:
1、NFS挂载文件系统 出现nobody解决方式
https://blog.csdn.net/qq_34719291/article/details/78892744