开启Selinux遇到的坑

事故起因:

由于SeLinux会限制部分系统资源访问权限,所以很多开发者很喜欢禁用SeLinux,在布署程序的自动化角本中,也默认加入了禁用SeLinux的代码。这样会导致用户在安装Centos7的计算机上所有帐号都无法登录(包括root),但使用SecureCRT等软件连Ssh却可以正常登录。这还是会造成较大风险,一旦网络环境变化,该机器就会变成一个谁都无法登录的机器。

开启SELinux
实例上运行以下命令,编辑SELinux的config文件。

vi /etc/selinux/config

找到SELINUX=disabled,按i进入编辑模式,通过修改该参数开启SELinux。
在这里插入图片描述
您可以根据需求修改参数,开启SELinux有以下两种模式:

强制模式SELINUX=enforcing:表示所有违反安全策略的行为都将被禁止。
宽容模式SELINUX=permissive:表示所有违反安全策略的行为不被禁止,但是会在日志中作记录。
修改完成后,按下键盘Esc键,执行命令:wq,保存并退出文件。

**说明:**修改config文件后,需要重启实例,但直接重启实例将会出现系统无法启动的错误。因此在重启之前需要在根目录下新建autorelabel文件。

在根目录下新建隐藏文件autorelabel,实例重启后,SELinux会自动重新标记所有系统文件。

touch /.autorelabel

验证SELinux状态:
运行命令getenforce,验证SELinux状态。返回状态应为enforcing或者permissive,本教程当前状态为enforcing。

在这里插入图片描述

运行命令sestatus,获取更多SELinux信息。

1

参数信息SELinux status显示为enabled,表示SELinux已启动。

关闭SELinux:
1.运行命令getenforce,验证SELinux状态

返回状态如果是enforcing,表明SELinux已开启。

2.选择临时关闭或者永久关闭SELinux。

执行命令setenforce 0临时关闭SELinux。
永久关闭SElinux。
a.运行以下命令,编辑SELinux的config文件。

vi /etc/selinux/config

b.找到SELINUX=enforcing,按i进入编辑模式,将参数修改为SELINUX=disabled
在这里插入图片描述
修改完成后,按下键盘Esc键,执行命令:wq,保存并退出文件。

当SeLinux选permissive(宽容模式)后,系统认为SeLinux有效,就能正常登录。而且,对系统资源的管控也只是打印警告信息,不作实质性的限制,在开发者非要关闭SeLinux的情况下,我们可以用permissive模式代替disabled,不会影响程序的正常运行。

猜你喜欢

转载自blog.csdn.net/qq_17030783/article/details/113105365