Red Hat Training

A Red Hat training course is available for RHEL 8

8.6.3. SELinux 策略的更改

init_t 域类型不再在 RHEL 8 中不受限制。这可能会对使用不同 SELinux 标记方法的第三方应用程序造成问题。

要解决非标准位置中的 SELinux 标记问题,您可以为这些位置配置文件上下文等同。

  1. /my/apps/ 目录配置文件上下文等值:

    # semanage fcontext -a -e / /my/apps
  2. 通过列出 SELinux 策略的本地自定义来验证文件上下文等效性:

    # semanage fcontext -l -C
    
    SELinux Local fcontext Equivalence
    
    /my/apps = /
  3. /my/apps 的上下文恢复到默认值,这等同于 / 上下文:

    # restorecon -Rv /my/apps
    restorecon reset /my/apps context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:root_t:s0
    restorecon reset /my/apps/bin context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0
    restorecon reset /my/apps/bin/executable context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0

这种方法可将正确的标签分配给非标准位置安装的大多数文件和目录,这也会导致某些可执行文件启动正确标记的进程。

要删除文件上下文等效,请使用以下命令:

# semanage fcontext -d -e / /my/apps
  • 详情请查看 semanage-fcontext man page。