下午访问一台新部署的web,打开一个商家主页,图片都不能正常显示。上服务器进入相关目录,提示权限拒绝。因为图片都是存在一台专门的服务器,web机都是通过nfs访问图片资源。所以应该是nfs权限的问题导致。

   关于权限问题,一般都是nfs server的/etc/exports文件没有设置好导致的。查看文件
[admin@nfsserver ~]# cat /etc/exports
/home/www/p_w_picpaths 192.168.0.37(rw,sync,anonuid=497,anongid=497)
/home/www/p_w_picpaths 192.168.0.67(rw,sync,anonuid=497,anongid=497)
/home/www/p_w_picpaths 192.168.0.9(rw,sync,anonuid=1003,anongid=1003)

   新web是192.168.0.9,因为其上的web账户的uid为1003,所以我在exports上也设置成相应的uid。

   权限也设为rw,但是新web访问挂载目录提示权限拒绝。那么难道是uid导致的?因为37和67访问正常,那么uid设置成497就可以?试试看,将192.168.0.9的web账号的uid和gid改为497,然后修改nfs server的exports,重启nfs,192.168.0.9重新挂载目录,访问正常。

   问题解决了,但是为什么设置为497就好了呢?

   最后才发现,nfs server的p_w_picpaths目录的属主uid也是497。也就是说客户端账户的uid要和服务端目录的uid相同就可以了。