如何在 CentOS 8 和 RHEL 8 上禁用 SELinux

SELinux(Security-Enhanced Linux)是一个Linux内核安全模块,为Linux系统提供增强的安全性。 SELinux 提供了一种支持访问控制安全策略的机制。 这指定了进程如何相互通信以及如何与文件交互。

在系统上禁用 SELinux 不是一个好习惯,尤其是在生产服务器上。 对于开发人员系统,只有在由于其政策而面临问题时才可以禁用它。

在本操作指南中,您将学习在 CentOS 8 或 RHEL 8 Linux 系统上禁用 SELinux。

SELinux 模式

SELinux 具有三种运行模式,如下所述。 默认 SELinux 在 CentOS 或 RHEL Linux 系统上以强制模式运行。

  • 执行—— 强制执行 SELinux 安全策略。
  • 宽容—— SELinux 允许访问,但会在违反规则时打印警告。
  • 禁用 – 没有加载 SELinux 策略。

在本文中,我们将讨论如何在 CentOS 和 RedHat Linux 系统上将 SELinux 模式更改为允许或完全禁用它。

检查 SELinux 状态

您可以使用 getenforce 命令查看 SELinux 的状态。 另一个命令 sestatus 为您提供有关 SELinux 状态的更多详细信息。

按 CTRL+ALT+T 启动终端并输入:

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:      33 

上述状态表明 SELinux 已启用并强制执行。

在 CentOS/RHEL 8 上禁用 SELinux

更新 SELinux 配置文件并设置 SELINUX=disabled 永久禁用系统上的 SELinux。 这将完全禁用所有 SELinux 上下文。

sudo nano /etc/selinux/config  

SELINUX 价值 disabled

SELINUX=disabled 

重启您的实例以应用更改。

您可以通过设置再次激活 SELinux SELINUX=enforcing 在配置文件中。 您可以将其设置为许可模式,而不是禁用 SELinux。

将 SELinux 设置为 Permissive 模式(临时)

许可模式意味着不强制执行 SELinux 策略。 SELinux 不拒绝任何操作,即使它们违反了策略。 它只创建日志,这有助于调试。

您可以使用以下命令之一暂时将 SELinux 设置为许可模式。

sudo setenforce 0  
sudo setenforce Permissive  

一旦系统重新启动,临时模式将被禁用,SELinux 将再次强制执行。 使用下一个方法永久应用更改。

将 SELinux 设置为 Permissive 模式(永久)

你也可以 永久配置 SELinux Permissive Mode 通过编辑配置文件。 在您喜欢的文本编辑中编辑配置:

sudo nano /etc/selinux/config  

设置 SELINUX 价值 permissive.

SELINUX=permissive