昨天我的主pipe把他的一个目录挂到了我的服务器上。 问题是,我无法访问他们,我现在无法与他联系。 当我input的URL我得到这个错误:
Forbidden You don't have permission to access /~<username>/core/ on this server.
我试图进入“核心”目录,并执行以下操作:
chmod -R 755 *.*
但即使所有的权限改变,我仍然无法访问! 奇怪的是,我可以访问和编辑文件。
Apache需要访问文件系统path中的每个目录到/~<username>/core/ 。
这几乎总是/home的权限问题。
chmod 755 /home/应该为你修复它。
或者Justin谈到的SELinux问题。
如果您使用的是SELinux(默认情况下是),那么您需要允许Apache访问用户主目录:
setsebool -P httpd_enable_homedirs on
就这样。
请注意,*。*在unix中的含义与ms-dos和windows中的不同。 文件名“扩展名”在unix中并不重要,就像它们在DOS中一样,它们只是组成文件名的string的一部分。
chmod -R 755 *.*仅改变文件和目录的权限。 在他们的名字。 要改变所有文件,不pipe它们是否有。 或不,请尝试:
chmod -R 755 *
更好的是,只有目录(不是纯文件)需要可执行文件,所以请尝试如下所示:
chmod -R a+rX,u+w *
这将所有文件的所有文件更改为所有用户可读,可由所有者写入,并将目录上的执行位(“X”而不是“x”)设置为。
你在服务器上使用SELinux吗? 如果你是,并且它被设置为“Enforcing”,你可能需要将目录的上下文更新到httpd_sys_content_t ,否则Apache将被拒绝访问。
您可以通过执行以下操作更改目录的上下文:
chcon -Rv --type=httpd_sys_content_t /~<username>/core
这将改变目录的上下文,并将其内容改变为适合HTTPD服务(即,Apache)工作的上下文。
更多信息可以在这里find: http : //wiki.centos.org/HowTos/SELinux/