CoffeeCat's IT Blog

Apache无法读取某些目录文件的解决方法

今天正好碰巧看到一份关于SeLinux的资料,解决了一个困扰我多时的问题。

我有一台CentOS的服务器,运行着基于Apache的PHP系统,但是这些系统无法访问诸如/home,/usr等目录,即使我将这些目录chown成apache:apache,并且chmod成0777,也显示Permission Denied。百思不得其解后,我只能放弃那些计划好的数据分区,将这些数据文件挤在/var/目录下了。原来0777也不是万能的,真是毁三观,哈哈。

原来,此问题的发生是因为SeLinux。这是一个安全控制系统,简单理解就是它提供了更精确的权限控制,使我们的Linux更安全。

解决办法有2种,最快速的就是将SeLinux直接Disable掉,当然,这个你需要看场合,大多数场合都不适合这样rough的操作。最好的办法,就是正确设置SeLinux针对apache的权限。

下面给出解决的方法:

比如,你想让PHP系统能访问/home/folder/目录,那么你只需要运行命令:

chcon ---t httpd_sys_content_t /home/folder/

这样,SeLinux就不会阻止你的程序访问啦。

Ferris
2014/03/18

posted on 2014-03-18 18:33 CoffeeCat 阅读(632) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
<2011年9月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

导航

统计

公告

常用链接

留言簿(183)

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜