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=enforcing
到 SELinux=disabled
如下图所示。
SELINUX=disabled
Save 文件并使用以下命令重新启动您的 CentOS 系统:
sudo shutdown -r now
系统启动后,使用 sestatus 命令验证更改:
sestatus
输出应如下所示:
SELinux status: disabled
结论
你已经成功学习 如何在 CentOS 7 上禁用 SELinux. 如果您有任何疑问,请不要忘记发表评论。
如何在 CentOS 8 上禁用 SELinux