Red Hat Training

A Red Hat training course is available for RHEL 8

第 10 章 在多个系统中部署相同的 SELinux 配置

您可以使用以下方法之一在多个系统上部署验证后的 SELinux 配置:

  • 使用 RHEL 系统角色和 Ansible
  • 在脚本中使用 semanage 导出和导入命令

10.1. selinux 系统角色简介

RHEL 系统角色是 Ansible 角色和模块的集合,可为远程管理多个 RHEL 系统提供一致的配置界面。您可以使用 selinux 系统角色执行以下操作:

  • 清理与 SELinux 布尔值、文件上下文、端口和登录相关的本地策略修改。
  • 设置 SELinux 策略布尔值、文件上下文、端口和登录。
  • 在指定文件或目录中恢复文件上下文。
  • 管理 SELinux 模块。

下表提供了 selinux 系统角色中提供的输入变量概述。

表 10.1. SELinux 系统角色变量

角色变量描述CLI 的替代方案

selinux_policy

选择保护目标进程或多级别安全保护的策略。

/etc/selinux/config中的 SELINUXTYPE

selinux_state

切换 SELinux 模式。

/etc/selinux/config 中的 setenforceSELINUX.

selinux_booleans

启用和禁用 SELinux 布尔值。

setsebool

selinux_fcontexts

添加或删除 SELinux 文件上下文映射。

semanage fcontext

selinux_restore_dirs

在文件系统树中恢复 SELinux 标签。

restorecon -R

selinux_ports

在端口上设置 SELinux 标签。

semanage port

selinux_logins

将用户设置为 SELinux 用户映射。

semanage login

selinux_modules

安装、启用、禁用或删除 SELinux 模块。

semodule

rhel-system-roles 软件包安装的 /usr/share/doc/rhel-system-roles/selinux/example-selinux-playbook.yml 示例 playbook 演示了如何在 enforcing 模式下设置目标策略。playbook 还应用多个本地策略修改,并在 /tmp/test_dir/ 目录中恢复文件上下文。

有关 selinux 角色变量的详细参考,请安装 rhel-system-roles 软件包,并参阅 /usr/share/doc/rhel-system-roles/selinux/ 目录中的 README.mdREADME.html 文件。