更新 :
看到这个问题:
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之前,看看是否有帮助。