I. 临时禁用 SELinux

1.1 显示当前 SELinux 模式

1getenforce

SELinux 状态以及正在使用的 SELinux 策略:

1sestatus

1.2 临时禁用 SELinux

使用 setenforce 实用程序在 enforcing 模式和 permissive 模式之间切换。使用 setenforce 所做的更改在重新引导后不会保留。要更改为 permissive 模式,请输入 setenforce 0 命令。

1setenforce 0

要更改为 enforcing 模式,请以 Linux root 用户身份输入 setenforce 1 命令。

1setenforce 1

使用 getenforce 实用程序查看当前的 SELinux 模式:

1getenforce

II. 切换到 permissive 模式

^28e792

使用以下步骤将 SELinux 模式永久改为 permissive。当 SELinux 是以 permissive 模式运行时,不会强制 SELinux 策略。系统可保持正常操作,SELinux 不会拒绝任何操作,而只是记录 AVC 信息,它们可用于故障排除、调试和 SELinux 策略改进。每个 AVC 在这个示例中仅记录一次。

2.1 先决条件

  • selinux-policy-targetedlibselinux-utilspolicycoreutils 软件包已安装在您的系统中。
  • 未使用 selinux=0enforcing=0 内核参数。

2.2 步骤

1、在您选择的文本编辑器中打开 /etc/selinux/config 文件,例如:

1vi /etc/selinux/config

2、配置 SELINUX=permissive 选项:

 1# This file controls the state of SELinux on the system.
 2# SELINUX= can take one of these three values:
 3#       enforcing - SELinux security policy is enforced.
 4#       permissive - SELinux prints warnings instead of enforcing.
 5#       disabled - No SELinux policy is loaded.
 6SELINUX=permissive
 7# SELINUXTYPE= can take one of these two values:
 8#       targeted - Targeted processes are protected,
 9#       mls - Multi Level Security protection.
10SELINUXTYPE=targeted

配置 SELINUX 值为👇

1permissive

3、确保在下次 SELinux 重启时重新标记文件

1fixfiles -F onboot

4、重启系统

1reboot

2.3 验证

系统重启后,确认 getenforce 命令返回 Permissive

1getenforce

III. 永久禁用 SELinux

⚠️ 警告:
禁用 SELinux 会降低您的系统安全性。避免使用 /etc/selinux/config 文件中的 SELINUX=disabled 选项来禁用 SELinux,因为这可能导致内存泄漏和竞争条件导致内核 panic。反之,应通过在内核命令行中添加 selinux=0 参数来禁用 SELinux。

禁用 SELinux 时,SELinux 策略不被加载 ; 它不会被强制执行,也不会记录 AVC 信息。

⚠️ 重要:
红帽强烈建议您使用 permissive 模式,而不是永久禁用 SELinux。如需有关 permissive 模式的更多信息,请参阅切换为 permissive 模式

3.1 先决条件

已安装 grubby 软件包:

1rpm -q grubby

3.2 步骤

  1. 将您的引导装载程序配置为在内核命令行中添加 selinux=0
1sudo grubby --update-kernel ALL --args selinux=0
  1. 重启您的系统:
1reboot

3.3 验证

重新引导后,确认 getenforce 命令返回 Disabled :

1getenforce

IV. 参考文档

Red Hat Enterprise Linux 9:使用 SELinux