2.6. 在引导时更改 SELinux 模式


在引导时,您可以设置以下内核参数来更改 SELinux 的运行方式:

enforcing=0

设置此参数可让系统以 permissive 模式启动,这在进行故障排除时非常有用。如果您的文件系统被破坏,使用 permissive 模式可能是唯一的选择。在 permissive 模式中,系统将继续正确创建标签。在这个模式中产生的 AVC 信息可能与 enforcing 模式不同。

在 permissive 模式中,只报告来自于同一拒绝的一系列操作的第一个拒绝信息。然而,在 enforcing 模式中,您可能会得到一个与读取目录相关的拒绝信息,应用程序将停止。在 permissive 模式中,您会得到相同的 AVC 信息,但应用程序将继续读取目录中的文件,并为因为每个拒绝额外获得一个 AVC。

selinux=0

这个参数会导致内核不载入 SELinux 构架的任意部分。初始化脚本会注意到系统使用 selinux=0 参数引导,并涉及 /.autorelabel 文件。这会导致系统在下次使用 SELinux enabled 模式引导时自动重新标记。

重要

不要在生产环境中使用 selinux=0 参数。要调试您的系统,请临时使用 permissive 模式而不是禁用 SELinux。

autorelabel=1

这个参数强制系统使用类似以下命令的重新标记:

# touch /.autorelabel
# reboot

如果文件系统中包含大量错误标记的对象,以 permissive 模式启动系统,使 autorelabel 进程成功。

其他资源

  • 有关 SELinux 的其他内核引导参数,如 checkreqprot,请查看由 kernel-doc 软件包安装的 /usr/share/doc/kernel-doc- <KERNEL_VER>/Documentation/admin-guide/kernel-parameters.txt 文件。使用安装的内核的版本号替换 <KERNEL_VER> 字符串,例如:

    # dnf install kernel-doc
    $ less /usr/share/doc/kernel-doc-4.18.0/Documentation/admin-guide/kernel-parameters.txt
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.