如何在 CentOS 7 上禁用 SELinux

SELinux (安全增强的 Linux) 是一个 Linux 内核安全模块 这允许管理员和用户更好地控制访问控制。 它允许访问基于 SELinux 政策 规则。
如果没有 SELinux 政策 专门允许访问的规则,例如对于打开文件的进程,访问被拒绝。
SELinux 有三个 模式

强制执行:SELinux 允许基于 SELinux 策略规则的访问。 宽容的:SELinux 只记录在强制模式下运行时会被拒绝的操作。 已禁用: 没有加载 SELinux 策略。

默认在 CentOS 7 中, SELinux启用 在强制模式.
SELinux 是一个很好的安全功能。 但是很难理解和维护。 这就是为什么小公司和初创公司通常不会打扰 SELinux。 CentOS 7 和 Red Hat Enterprise Linux 7 (RHEL 7) 预装了 SELinux。
在这篇文章中,我将向您展示 如何在 CentOS 7 上禁用 SELinux.

先决条件

在开始在 CentOS 7 上禁用 SELinux 之前。您的服务器上必须有一个非 root 用户帐户 sudo 特权。

检查 SELinux 状态

首先,您应该检查状态 SELinux 在您的 CentOS 系统中启用或禁用。 到 检查 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 Max kernel policy version:      31 

你可以从上面的输出中看到 SELinux 已启用并设置为 强制模式。

暂时禁用 SELinux

暂时禁用 SELinux, 以 root 身份发出以下命令:

echo 0 > /selinux/enforce

或者,您可以使用 setenforce 工具,如下所示:

setenforce 0

否则,使用 许可选项 而不是 0 如下:

setenforce Permissive

上述这些方法仅在下次重新启动之前有效,因此 永久禁用 SELinux,移至下一部分。

永久禁用 SELinux

永久禁用 SELinux, 使用您喜欢的文本编辑器打开文件 /etc/sysconfig/selinux 如下:

sudo vi /etc/sysconfig/selinux

然后更改指令 SELinux=enforcingSELinux=disabled 如下图所示。

SELINUX=disabled

Save 文件并使用以下命令重新启动您的 CentOS 系统:

sudo shutdown -r now

系统启动后,使用 sestatus 命令验证更改:

sestatus

输出应如下所示:

SELinux status:                 disabled

结论

你已经成功学习 如何在 CentOS 7 上禁用 SELinux. 如果您有任何疑问,请不要忘记发表评论。

如何在 CentOS 8 上禁用 SELinux