Yesterday my supervisor mounted one of his directories onto my server. The problem is, I can't access them and I have no way of contacting him right now. When I type in the URL I get this error:

Forbidden
You don't have permission to access /~<username>/core/ on this server.

I tried to cd into the "core" directory and do the following:

chmod -R 755 *.*

but, even with all the permissions changed, I still can't get access! The weird thing is, I can access and edit the files.


Apache needs access to every directory in the file system path to /~<username>/core/.

This is almost always a permission problem on /home.

chmod 755 /home/ should fix it for you.

Or the SELinux issue Justin talks about.


If you're using SELinux (by default you are) then you need to allow Apache to access user home directories:

setsebool -P httpd_enable_homedirs on

That's all.


note that *.* does not mean the same thing in unix that it does in ms-dos and windows. filename "extensions" aren't significant in unix like they are/were in DOS, they're just a part of the string making up the filename.

chmod -R 755 *.* only changes the permissions of files and directories with a '.' in their name. To change all files regardless of whether they have a . or not, try:

chmod -R 755 *

even better, only directories (not plain files) need to be executable, so try something like:

chmod -R a+rX,u+w *

That changes all files to readable for all users, writable by owner, and also sets the execute bit on directories ("X" rather than "x").