SELinux全称安全性增强的Linux
是基于RHEL的Linux发行版内置在Linux内核中的安全性机制。SELinux允许管理员和用户基于策略规则控制对象的访问,为系统增加了一层安全保护。
SELinux策略规则指定进程和用户如何交互,以及进程和用户如何与文件交互。如果没有明确指定允许访问对象的规则。例如进程访问或者打开文件,则拒绝访问。
SELinux有模式有三种。第一种是强制
模式,SELinux允许基于SELinux策略规则进行访问。第二种是宽松
模式,SELinux仅记录在强制模式下运行会被拒绝的操作。此模式对于调试和创建新的策略规则很有用。第三种是已禁用
,未加载SELinux策略,也不记录任何消息。
默认情况下,在CentOS 8中,启用了SELinux并处于强制模式。强烈建议将SELinux保持为强制模式。但是,有时它可能会干扰某些应用程序的功能,因此您需要将SELinux设置为宽松模式或将SELinux完全禁用。
在本教程中,我们将说明如何禁用CentOS 8 SELinux。包括检查/查看系统的SELinux状态与模式,使用setenforce
命令将SELinux禁用或者修改/更改为宽松模式,使用vim命令行编辑器修改/etc/selinux/config
配置文件永久禁用SeLinux。
先决条件
只有root用户或具有sudo权限的用户才能更改SELinux模式。
检查/查看SELinux状态与模式
使用sestatus
命令检查SELinux的运行状态和模式:
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31
上面的输出显示SELinux已启用并将其设置为强制模式
。
宽松模式
启用后,SELinux可以处于强制或宽松模式。您可以使用以下setenforce
命令将模式从强制临时更改为宽松模式:
sudo setenforce 0
但是,此更改仅对当前运行时会话有效,并且不会在重新启动之后继续有效。要将SELinux模式永久设置为许可模式
,请执行以下步骤。
使用你喜欢的编辑器打开SELinux配置文件/etc/selinux/config
,在本教程中,我们将使用vim打开文件/etc/selinux/config
。
sudo vim /etc/selinux/config
并将SELINUX=enforcing
更改为SELINUX=permissive
:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
然后保存文件并退出vim编辑器。如你需要马上重启系统以验证更改,请运行以下shutdown
命令:
sudo shutdown -r now
禁用SELinux
强烈建议不要禁用SELinux,而应将模式更改为宽松模式。仅在需要确定运行的应用程序是否与SeLinux冲突时,禁用SELinux。
执行以下步骤永久禁用CentOS 8系统上的SELinux。首先使用vim编辑器打开文件/etc/selinux/config
。
sudo vim /etc/selinux/config
并将SELINUX
值更改为disabled
:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
保存文件并重新启动系统:
sudo shutdown -r now
当系统启动后,使用sestatus
命令验证SELinux是否已被禁用:
sestatus
输出应如下所示:
SELinux status: disabled
结论
SELinux是一种通过实施强制访问控制MAC来保护系统安全的机制。SELinux在CentOS 8系统上默认为启用,但是可以通过编辑配置文件并重新启动系统来禁用SELinux。
要了解SELinux功能的更多信息,请访问CentOS SELinux指南。如果您有任何疑问或反馈,请在下面发表评论。