关于http服务器和selinux权限设置

有时候也用PHP做WEB开发,,但很多时候不是纯的web开发,所以有时候会有一种需求:通过http远程修改服务器当中的任意文件。

后面通过sip服务器的freepbx和fusionpbx搞清楚了一件事,就是只需要把相关目录设为同一个用户组就可以达到我的目的。事实也的确是这样的,比如apache以apahce:apache的权限运行,那么只有你把相关文件,也就是你想通过http修改的任意文件的所有权限修改为apache:apache,那么问题就解决了。这样你就可以在其目录内任意创建文件,任意修改文件,能不能任意执行文件就没测试过。

但后来我安装了一台centos系统,上面安装了apache+php+mysql,然后修改了相关文件的用户组,也设置了apache运行时组合用户所有者,但除了对web目录下的文件可以做任何操作外,对其它目录下的文件都权限修改,郁闷了整整一天。查遍了所有apache的配置文件,都感觉没问题,但问题出在哪里呢?

最后无意间发现linux下有selinux这样一个东西,它是为了保证基于http的服务器安全而诞生的。所以,只要禁止selinux,问题就可以解决了。禁掉selinux for centos的方法如下:

1、查看selinux状态查看selinux的详细状态,如果为enable则表示为开启# /usr/sbin/sestatus -v查看selinux的模式# getenforce2、关闭selinux2.1:永久性关闭(这样需要重启服务器后生效)# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config2.2:临时性关闭(立即生效,但是重启服务器后失效)# setenforce 0 #设置selinux为permissive模式(即关闭)# setenforce 1 #设置selinux为enforcing模式(即开启)这样就关闭SELinux了,当安装软件遇到问题时可以考虑关闭SELinux再进行安装

不给自己一点轻松的机会,好象世界的每个角落都需要自己的脚去留个痕迹,才叫人生。

关于http服务器和selinux权限设置

相关文章:

你感兴趣的文章:

标签云: