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

小天天天天    服务器    999+ 次    2017-05-08 03:22:31


今天正好碰巧看到一份关于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 -R -h -t httpd_sys_content_t /home/folder/


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


如果你觉得本篇文章对您有帮助,请打赏作者

上一篇: 理解Javascript的对象

下一篇: MySQL复制整张数据表的SQL语句

最新评论

暂无评论

热门文章

最新评论

网站数据

网站文章数:481

今日UV/PV/IP:3/3/3

昨日UV/PV/IP:18/19 /18

TOP