给apache用户读取目录的权限

更新

看到这个问题:

https://stackoverflow.com/questions/515243/why-cant-my-apache-process-write-to-my-world-writeable-file

这可能是SELinux相关的,目前/ etc / sysconfig / selinux设置为宽容:

SELINUX=permissive 

UPDATE

禁用SELINUX,不变。

平台:这在CentOS 5.5,Apache 2上

ls -l给出

 -rw-rw-r-- 1 root mail 9230 Mar 2 10:25 2011 MyFile.txt 

我需要给apache用户读取/ var / MyApp目录的权限

我做:

 chmod a+r /var/MyApp -R 

ls -l确认所有的文件权限已经改变,允许任何用户读取。 但是当我这样做

 sudo -u apache tail /var/MyApp/MyFile.txt 

我得到这个错误:

 tail: cannot open `/var/MyApp/MyFile.txt' for reading: Permission denied 

apache用户是否需要一些特殊的configuration来允许读取权限?

可能是/var/var/MyApp上的执行位问题。 确保/var/var/MyApp都是chmod a+x 。 还要确保apache用户的shell没有被禁用(例如/sbin/nologin/bin/false

不,但是和许多UNIX命令一样,chmod不喜欢把参数放在参数后面。 把-R放在a+r之前,看看是否有帮助。