关于http服务器和selinux权限设置
2015-04-20 09:55
211 查看
有时候也用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再进行安装
后面通过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再进行安装
相关文章推荐
- 关于http服务器和selinux权限设置
- Nagios 请检查HTTP服务器关于该CGI的访问权限设置
- nagios报错 无权查看任何主机的信息。 请检查HTTP服务器关于该CGI的访问权限设置。
- Nagios 请检查HTTP服务器关于该CGI的访问权限设置
- 关于Tomcat用户权限设置
- .NET下,关于文件夹权限设置的小细节
- 关于.netrc的权限设置
- 关于设置登录过滤权限后 css和js无法加载问题
- 关于xp设置权限的问题
- selinux 的设置导致vsftp权限问题(linux的ftp用户无法连接问题)
- 关于为Portal站点中的列表单独设置的权限
- 关于Svn的权限设置
- selinux 权限设置
- linux下ftp(vsftpd)添加用户及设置权限详细步骤--(关于阿里云)
- 关于 SELinux 设置遇到的相关问题
- Android 6.0出现的init: cannot execve(‘XXX’):Permission denied问题:禁止SELINUX的权限设置
- Android selinux权限设置
- 关于LINUX中的权限位S(设置用户ID)(有效用户ID)(实际用户ID)
- 关于centos中文件权限的设置
- Android的LocalSocket实现及SELinux权限设置.编译(应用层和native通信)