如何在 CentOS 8 上禁用 SELinux
SELinux 代表安全增强型 Linux,是红帽企业 Linux 及其衍生 Linux 发行版(例如 CentOS)中内置的额外安全控制层。 SELinux 在 CentOS 8 上默认启用,如果用户不想使用它,则必须手动禁用它。
尽管 SELinux 可以通过程序和系统服务的访问控制来保护我们的系统,但并不总是需要启用它。有些用户甚至可能发现它会干扰他们尝试安装的某些程序。在本指南中,我们将逐步说明在 CentOS 8 上禁用 SELinux,无论是在重新启动时暂时还是永久禁用。
在本教程中您将学习:
如何检查 SELinux 的状态
如何将 SELinux 置于宽容模式
如何禁用 SELinux
在 CentOS 8 上禁用 SELinux
如何检查 SELinux 的状态
您可以随时通过执行以下命令来检查SELinux的当前状态。
$ sestatus
检查SELinux当前模式
在我们的测试系统上,上面的屏幕截图表明 SELinux 的“当前模式”是强制。
快速检查状态的一种更简单的方法是使用 getenforce 命令,该命令只会输出 SELinux 的当前模式,而不会输出其他内容。
$ getenforce
Enforcing
SELinux 具有三种可能的模式,您可以在运行命令时看到它们。他们是:
执行 – SELinux 很活跃并执行其策略规则。
宽容 – SELinux 允许一切,但记录它通常在强制模式下拒绝的事件。
已禁用 – SELinux 不执行规则或记录任何内容。
默认情况下,CentOS 8 启用 SELinux 并处于强制模式。
如何禁用 SELinux
根据您的需要,禁用 SELinux 可能涉及将其更改为宽容模式,或完全禁用它。
将 SELinux 设置为宽容模式将禁用 SELinux 的所有方面(日志记录消息除外)。我们不需要重新启动系统即可使此更改生效,并且可以通过执行以下命令来进行更改。
$ sudo setenforce 0
您可以使用 sestatus
或 getenforce
命令再次检查 SELinux 当前模式来验证更改。
SELinux 当前处于宽容模式
当您重新启动系统时,SELinux 将更改回强制模式。如果您希望更改是永久性的,您可以使用以下分步说明来完全禁用 SELinux 或将其保持在宽松模式。
使用 nano 或您喜欢的文本编辑器打开位于
/etc/selinux/config
中的 SELinux 配置文件。您需要使用 root 帐户或 sudo 命令来执行此操作。$ sudo nano /etc/selinux/config
根据您喜欢的设置,将
SELINUX=enforcing
行更改为“permissive”或“disabled”。然后,保存更改后退出该文件。SELINUX=disabled
一旦您重新启动系统,SELinux 将被完全禁用。为了避免立即重新启动,请按照上面的说明执行
setenforce 0
命令,以便在等待下次重新启动时立即获得结果。$ reboot
将 SELINUX 指令设置为禁用以永久禁用它
重启后,SELinux 已被完全禁用
结束语
在本指南中,我们了解了如何在 CentOS 8 Linux 系统上禁用 SELinux,方法是将当前模式设置为宽松模式,以及完全禁用 SELinux。 SELinux 是一项有用的功能,只有在事先考虑或在测试环境中才应禁用它。尽管如此,它在某些情况下可能会导致问题,因此开发人员为我们提供了禁用它的方法。