不关闭SELinux解决Apache Permission Denied

Selinux 的安全防护措施主要集中在各种网络服务的访问控制。对于 Apache 、Samba、NFS 数据库来说,Selinux 仅仅开放了最基本的运行需求。至于连接外部网络、运行脚本、访问用户目录、共享文件等,必须经过一定的 Selinux 策略调整才能充分发挥网络服务器的作用,在安全和性能直接获取平衡。

 

CentOS下,经常发现apache配置好后,无法访问,提示“Permission Denied”,修改文件夹权限后依然无法解决,这是由于SELinux的安全策略导致的,网上普遍的做法是关闭SELinux

sudo setenfore 0

或者

vim /etc/sysconfig/selinux
SELINUX=disabled

但是,直接关闭SELinux会降低系统安全性,修改网站目录属性,能达到相同的效果

sudo chcon -t httpd_sys_content_t -R /var/www/html

如果需要写文件,可以这样设置

<prelang=”shell”> sudo chcon -t httpd_sys_content_rw_t -R /var/www/html

修改完成后,就能正常访问了

%1 $ S

发表回复