您的位置:首页 > 理论基础 > 计算机网络

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

2015-03-06 10:34 204 查看
有时候也用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的模式

# getenforce

2、关闭selinux

2.1:永久性关闭(这样需要重启服务器后生效)

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

2.2:临时性关闭(立即生效,但是重启服务器后失效)

# setenforce 0 #设置selinux为permissive模式(即关闭)

# setenforce 1 #设置selinux为enforcing模式(即开启)

这样就关闭SELinux了,当安装软件遇到问题时可以考虑关闭SELinux再进行安装
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: