root@SERVER:~# cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/bin/sh
root@SERVER:~# ls -al /cluster/www/html/tmp/reportexport_274.xml
-rwxrwxrwx 1 www-data www-data 908 2011-03-30 14:03 /cluster/www/html/tmp/reportexport_274.xml
root@SERVER:~# sudo -u www-data cat /cluster/www/html/tmp/reportexport_274.xml
cat: /cluster/www/html/tmp/reportexport_274.xml: Permission denied
该目录是 nfs 挂载:
x:/cluster/www /cluster/www nfs _netdev,rw,soft,intr,rsize=32768,wsize=32768,nosuid,nodev,noatime,timeo=15 0 0
Linux x 2.6.32-31-server #61-Ubuntu SMP 星期五 4 月 8 日 19:44:42 UTC 2011 x86_64 GNU/Linux
怎么会这样?我是不是忽略了什么?
答案1
怎么样sudo -u www-data ls -l /cluster/www/html/tmp/
?也许 www-data 缺少访问目录条目的权限。如果是这种情况chown
,chmod
则每个目录都tmp
可以被 www-data 读取/执行。
答案2
检查路径中的目录是否以某种方式允许用户www-data
读取和执行权限。