如何更改 SElinux 运行模式 - Linux 安全教程
SELinux 代表安全增强型 Linux,是为 Linux 系统构建的额外安全控制层。 SELinux 的原始版本是由 NSA 开发的。其他主要贡献者包括 Red Hat,它在自己的 RHEL 及其衍生 Linux 发行版中默认启用了它。
尽管 SELinux 可以通过程序和系统服务的访问控制来保护我们的系统,但并不总是需要启用它。有些用户甚至可能发现它会干扰他们尝试安装的某些程序。在这种情况下,可以将 SELinux 操作模式从强制更改为宽松或禁用。
在本教程中,我们将逐步介绍更改 SELinux 操作模式。
在本教程中您将学习:
如何检查 SELinux 运行模式
如何更改 SELinux 运行模式
如何检查 SELinux 运行模式
SELinux 具有三种可能的模式,您可以在运行命令时看到它们。他们是:
执行 – SELinux 很活跃并执行其策略规则。
宽容 – SELinux 允许一切事情,但记录它通常在强制模式下拒绝的事件。
已禁用 – SELinux 不执行规则或记录任何内容。
我们在另一个教程中更详细地检查了 SELinux 操作模式。但下面的命令是查看 SELinux 运行模式的最快、最简单的方法。
$ getenforce
Enforcing
如何更改 SElinux 运行模式
根据您的需要,更改 SELinux 模式可能涉及将其更改为宽容模式,或完全禁用它。默认情况下,SELinux 设置为强制。
将 SELinux 设置为宽容模式将禁用 SELinux 的所有方面(日志记录消息除外)。我们不需要重新启动系统即可使此更改生效,并且可以通过执行以下命令来进行更改。
$ sudo setenforce 0
您可以使用 sestatus
或 getenforce
命令再次检查 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 指令更改回“enforcing”。
或者,使用以下命令将宽松 SELinux 模式更改回强制模式。
$ sudo setenforce 1
结束语
在本指南中,我们了解了如何通过将当前模式设置为强制、许可以及完全禁用 SELinux 来更改主要 Linux 发行版上的 SELinux 操作模式。
SELinux 是一项有用的功能,只有在事先考虑或在测试环境中才应禁用它。一些发行版也有自己推荐的 SELinux 替代方案,例如 Ubuntu 使用 AppArmor。在这种情况下,可以安全地禁用 SELinux,转而使用发行版自己的安全软件。