首页 > 代码库 > SELinux深入理解

SELinux深入理解

这个试验从配置Apache开始说起。

1.安装apache服务程序

A:将光盘挂载到/media/cdrom目录中:

技术分享

B:创建YUM仓库配置文件:

技术分享

配置文件内容如下:

技术分享

C:安装apache服务程序:(需要注意:apache服务程序的软件包名称是httpd,而不是apache)

技术分享

技术分享

技术分享

安装完成!

D:运行Apache服务程序~查看服务状态:

技术分享

然后打开浏览器,输入127.0.0.1,就可以看到默认页面了。

技术分享

其实,我们可以看到这种默认页面一共有三种原因:(1)文件没有内容;(2)权限不足;(3)SELinux上下文出错。

但是很明显,这个地方出现的问题属于第一种原因;要不我们去写入一些内容吧:

 技术分享

然后我们就会看到:

技术分享

好啦,现在已经初步成功。接下来就是见证奇迹的时刻~~~

下面,我们将我们的网站数据个换个地方保存吧,比如保存在/home/wwwwy下面。需要我们编辑apache的主配置文件:下面是原始信息:需要更改目录为:/home/wwwwy

技术分享

更改过如下图:

技术分享

然后,我们创建相应的目录,然后写入一些内容到对应的文件里面,最重要的是需要重启服务。如下:

技术分享

打开浏览器,依旧输入127.0.0.1,我们发现却还是默认页面。

技术分享

这就让我们想到默认页面的三种原因,排除(1)因为我们刚刚写入了内容(2)我们对应的权限也够了。那么就自然想到是selinux的捣鬼了。下面让我们直接关闭selinux,看一下结果:

技术分享

果然,就直接出来结果了。那么接下来就是重头戏了。

我们知道selinux一共有三种模式:(1)enforcing:安全策略强制启用模式,会拦截服务的不合法请求。(2)permissive:警告模式,遇到越权访问时候,只会发出警告记录日志,但是不会拦截;(3)disabled:关闭模式,对于越权问题,不警告,不拦截。

下面让我们本来想让selinux知道我们在做事情,但是请你不要管,并且selinux也要开启,那该怎么做呢?首先查看一下新旧网站的数据目录的selinux安全上下文环境吧:

技术分享

所以,我们只要更改一下安全上下文就可以了,然后再让新的上下文立即生效就可以啦。见下图:

技术分享

 

 至此,是不是对于selinux有了更深入地了解?哈哈哈~

 

SELinux深入理解