LNMP环境,要求将某个站点的根目录设置为/root下的某个目录,如/root/test,但访问时erro_log总提示没有权限:
2013/07/04 00:53:15 [error] 2250#0: *5 "/root/test/index.htm" is forbidden (13: Permission denied), client: 172.17.103.33, server: test3456.cl101.dev.bizcn.com, request: "GET / HTTP/1.1", host: "test3456.cl101.dev.bizcn.com"
正常情况,index.htm页面只要有644权限即可。但尝试给予777权限后,问题依旧。
会不会是页面所在目录(/root/test)的权限?正常站点根目录只要有755权限(默认目录权限)就够了,但尝试给/root/test开通777权限后,访问还是提示403...
最后发现,是/root目录的问题。
/root目录默认的权限如下:
dr-xr-x---. 8 root root 4096 Jul 3 13:57 root
目录的owner.group都是root,权限为550。也就是说,除了root账户对该目录有读取\执行的权限外,其他账户没有任何权限。而nginx运行时所使用的账户不可能是root,所以nginx对该目录没有任何权限,导致访问该目录下的页面总是Permission denied。
因此,只要给/root目录加上一个默认账户执行的权限就可以了,即将权限调整为551。调整之后重试,问题解决。
阅读(5980) | 评论(11) | 转发(1) |