开启或关闭SELinux
安全增强型Linux(SELinux)是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。本文介绍如何开启或关闭SELinux,并且避免系统无法启动的问题。
背景信息
一般情况下,开启SELinux会提高系统的安全性,但是会破坏操作系统的文件,造成系统无法启动的问题。如果您所在的企业或团队具有十分严格的安全策略,要求在Linux操作系统中开启SELinux,您可以参考本文的步骤开启,避免系统无法启动的问题。本教程使用的操作系统为:CentOS 7.6 64位。
开启SELinux
- 远程连接ECS实例。
- 在ECS实例上运行以下命令,编辑SELinux的
config
文件。sudo vi /etc/selinux/config
- 找到
SELINUX=disabled
,按i
进入编辑模式,通过修改该参数开启SELinux。您可以根据需求修改参数,开启SELinux有以下两种模式:
- 强制模式
SELINUX=enforcing
:表示所有违反安全策略的行为都将被禁止。 - 宽容模式
SELINUX=permissive
:表示所有违反安全策略的行为不被禁止,但是会在日志中作记录。
- 强制模式
- 修改完成后,按下键盘
Esc
键,执行命令:wq
,保存并退出文件。说明修改config
文件后,需要重启实例,但直接重启实例将会出现系统无法启动的错误。因此在重启之前需要在根目录下新建autorelabel
文件。 - 在根目录下新建隐藏文件
autorelabel
,实例重启后,SELinux会自动重新标记所有系统文件。sudo touch /.autorelabel
- 重启ECS实例。
sudo shutdown -r now
验证SELinux状态
- 远程连接ECS实例。
- 运行命令
getenforce
,验证SELinux状态。返回状态应为enforcing
或者permissive
,本教程当前状态为Enforcing
。 - 运行命令
sestatus
,获取更多SELinux信息。参数信息SELinux status
显示为enabled
,表示SELinux已启动。
关闭SELinux
- 远程连接ECS实例。
- 运行命令
getenforce
,验证SELinux状态。返回状态如果是Enforcing
,表明SELinux已开启。 - 选择临时关闭或者永久关闭SELinux。
- 执行命令
setenforce 0
临时关闭SELinux。 - 永久关闭SELinux。
- 运行以下命令,编辑SELinux的
config
文件。sudo vi /etc/selinux/config
- 找到
SELINUX=enforcing
,按i
进入编辑模式,将参数SELINUX=enforcing
修改为SELINUX=disabled
。 - 修改完成后,按下键盘
Esc
键,执行命令:wq
,保存并退出文件。 - 重启ECS实例。
sudo shutdown -r now
- 重启后,运行命令
getenforce
,验证SELinux状态为Disabled
,表明SELinux已关闭。
- 运行以下命令,编辑SELinux的
- 执行命令
This message is used to verify that this feed (feedId:71873087544510464) belongs to me (userId:71872995029635072). Join me in enjoying the next generation information browser https://follow.is.