解决 Apache 权限为 755 但 php 仍没有写权限的问题

问题概述

昨日服务器被我搞崩了,今天打算从头再来。Apache 和 php 的安装都顺利。但是最后一步,安装 Typecho 却遇到了问题:“对不起,无法连接数据库,请先检查数据库配置再继续进行安装”(注:我选择的是 sqlite 数据库,不存在连不连接的事情,我一看就发现 db 文件没有建立,那还连个啥?)。

文件的所有者已经设置为 apache:apache,权限设置为了 755,所以推测是 SELinux 的问题。

其他人是怎么解决的呢?网上一搜,个个都说关闭 SELinux。卧槽,吓死个人——777 + 禁用SELinux,简直是作死二重奏。服务器漏洞就是这么被扩大的。

解决方案

如何安全地解决这个问题呢?

这里要讲到两个 SELinux 的域:

httpd_sys_content_t :用于允许 Apache 提供内容。

httpd_sys_rw_content_t :用于允许 Apache 读写文件。

那么解决起来就相当简单了,切换到网站根目录,执行下列指令:

[root@pluvet pluvet.com]# chcon -R -t httpd_sys_rw_content_t .

Comments

  1. yjl

    这个操作有点复杂了,用xmapp 如何操作?

发表留言

本站启用了垃圾评论检测插件,如果误删请联系我~