/root目錄下的頁面無法訪問解決
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。調整之後重試,問題解決。