Linux – Give apache user permission to read directory

apache-2.2linuxpermissionsselinux

UPDATE:

Saw this question:

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

Could this be SELinux related, currently /etc/sysconfig/selinux is setting to permissive:

SELINUX=permissive

UPDATE

Disabled SELINUX, no change.

Platform: This on CentOS 5.5, Apache 2

ls -l gives

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

I need to give apache user read access to /var/MyApp directory.

I do:

chmod a+r /var/MyApp -R

And ls -l confirms that all file permissions have changed to allow any user to read.
But when I do this

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

I get this error:

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

Does apache user require some special configuration to allow read access?

Best Answer

Could be an execute bit problem on /var or /var/MyApp. Make sure both /var and /var/MyApp are chmod a+x. Also make sure that the apache user's shell isn't disabled (e.g., /sbin/nologin or /bin/false)