Linux学习笔记--SELinux使用

愿你三冬暖,愿你遇良人。
1>>>>:什么是SELinux?
SELinux(Security Enhanced Linux):安全强化的Linux。SELinux安全子系统就是为了杜绝此类情况而设计的,它能够从多方面监控违法行为:对服务程序的功能进行限制(SELinux域限制可以确保服务程序做不了出格的事情);对文件资源的访问限制(SELinux安全上下文确保文件资源只能被其所属的服务程序进行访问)。“SELinux域”和“SELinux安全上下文”是SELinux的双保险,使服务程序无法进行越权操作。
设计目的:避免资源的误用
2>>>>>SELinux服务有三种运行模式,具体如下:
Enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
Permissive:遇到服务越权访问时,只发出警告而不强制拦截。
Disabled:对于越权的行为不警告也不拦截(关闭状态,并没有实际运行)。
selinux的配置文件位置:/etc/selinux/config,链接文件位置:/etc/sysconfig/selinux
本人的机器环境:
在这里插入图片描述
1、查询selinux服务的工作状态
sestatus
Linux学习笔记--SELinux使用_第1张图片

2、查看selinux的运行模式
getenforce
3、修改selinux的运行模式
setenforce 0 #将运行模式设置为Permissive,即临时关闭selinux,重启系统后失效
setenforce 1 #将运行模式设置为Enforcing,如果配置文件里是Permissive,重启系统后失效
4、修改配置文件,使其永久关闭selinux,重启系统后生效
注:配置文件里定义的是selinux的默认运行状态,可以理解为系统重启后的状态
sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config(永久关闭)
sed -i ‘s/SELINUXTYPE=targeted/#&/’ /etc/selinux/config
setenforce 0

6、使用selinux需要记住的四个命令
**semanage:**该命令用于管理selinux的安全上下文,可查看、添加、修改和删除进程、文件或目录的安全上下文策略
**restorecon:**执行semanage命令后,需要使用restorecon命令将设置好的安全上下文立即生效,可以加上-Rv参数对指定的目录进行递归操作,以及显示修改过程
**getsebool:**查询selinux域的安全策略,需要加上-a参数
**setsebool:**修改selinux域的安全策略的规则,加上-P参数使其永久且立即生效
7:启动关闭与要注意:
如果默认的是启动模式,需要注意的是如果改变模式则需要重启电脑,如果由 enforcing 或 permissive 改成disabled ,或由 disabled 改成其他两个,那也必须要重新开机。

这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux运行下切换成为 强制( enforcing )或宽容( permissive )模式,不能够直接关闭 SELinux 的! 如果刚刚你发现 getenforce 出现disabled 时,请到上述文件修改成为 enforcing 然后重新开机吧!

实例:
7、修改httpd服务的默认网站目录,来配置selinux
(1)安装httpd服务,并设置firewalld防火墙允许http服务
在这里插入图片描述
(2)将网站数据目录修改为/home/wwwroot目录,并创建首页文件
在这里插入图片描述
(3)修改httpd服务的配置文件
vim /etc/httpd/conf/httpd.conf
Linux学习笔记--SELinux使用_第2张图片
(4)启动httpd服务,并验证效果
systemctl start httpd
Linux学习笔记--SELinux使用_第3张图片
通过浏览器访问发现显示上图页面,而这正是selinux在捣鬼
(5)查看selinux运行状态,并关闭它
Linux学习笔记--SELinux使用_第4张图片
Linux学习笔记--SELinux使用_第5张图片
Linux学习笔记--SELinux使用_第6张图片
再次刷新页面,就会看到正常的网页内容了。

总结:
我们把httpd服务的网站数据默认保存目录修改为/home/wwwroot,这显然违反了selinux的监管原则,/home目录是用来存放普通用户的家目录数据的,而现在httpd服务却要去获取普通用户家目录中的数据,selinux自然是不允许了。

你可能感兴趣的:(Linux--各项服务优化,Linux,seLinux,SELinux使用及案例)