SELinux() 是一个 Linux 内核安全模块,允许管理员和用户更好地控制访问控制。它允许基于 SELinux 策略规则进行访问。
SELinux 策略规则对顶进程和用户如何相互交互以及进程和用户如何与文件交互。
如果没有专门允许访问的 SELinux 策略规则,例如打开文件的进程,则拒绝访问。
SELinux 有三种模式:
- Enforcing: SELinux 允许基于 SELinux 策略规则进行访问。
- Permissive: SELinux 仅记录在强制模式下运行时将被拒绝的操作。
- Disabled:未加载 SELinux 策略。
默认情况下,在 CentOS 7 中, SELinux 已启用并处于强制模式。
建议将 SELinux 保持在强制模式,但在某些情况下,您可能需要将其设置为许可模式或完全禁用它。
在本教程中,我们将向您展示如何在 CentOS 7 系统上禁用 SELinux 。
先决条件
在开始本教程之前,请确保以身份登录。
检查 SELinux 状态
要查看当前 SELinux 状态以及系统上正在使用的 SELinux 策略,可以使用以下 sestatus
命令:
sestatus
SELinux status: enabledSELinuxfs mount: /sys/fs/selinuxSELinux root directory: /etc/selinuxLoaded policy name: targetedCurrent mode: enforcingMode from config file: enforcingPolicy MLS status: enabledPolicy deny_unknown status: allowedMax kernel policy version: 31
您可以从上面的输出中看到 SELinux 已启用并设置为强制模式。
禁用 SELinux
你可以暂时 SELinux 的模式从改变 targeted
到 permissive
使用下面的命令:
sudo setenforce 0
但是,此更改仅对当前运行时会话有效。
要在 CentOS 7 系统上永久禁用 SELinux ,请执行以下步骤:
-
打开
/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 two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
-
保存文件并重新启动 CentOS 系统:
sudo shutdown -r now
-
系统启动后,使用以下
sestatus
命令验证更改:sestatus
输出应如下所示:
SELinux status: disabled
结论
在本教程中,您学习了如何在 CentOS 7 计算机上永久禁用 SELinux 。
您可以访问 指南,了解有关 SELinux 强大功能的更多信息。