第 5 章 使用系统角色配置 SElinux

5.1. SELinux 系统角色简介

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

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

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

表 5.1. SELinux 系统角色变量

角色变量描述CLI 备选

selinux_policy

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

/etc/selinux/config 中的 SELINUXTYPE

selinux_state

切换 SELinux 模式。请查看 ansible-doc selinux

setenforce 以及 /etc/selinux/config 下的SELINUX

selinux_booleans

启用和禁用 SELinux 布尔值。请参阅 ansible-doc seboolean

setsebool

selinux_fcontexts

添加或删除 SELinux 文件上下文映射。请参阅 ansible-doc sefcontext

semanage fcontext

selinux_restore_dirs

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

restorecon -R

selinux_ports

在端口上设置 SELinux 标签。请参阅 ansible-doc seport

semanage port

selinux_logins

将用户设置为 SELinux 用户映射。请参阅 ansible-doc selogin

semanage login

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

其它资源

  • 有关 SELinux 角色变量的详情,安装 rhel-system-roles ,并参阅 /usr/share/doc/rhel-system-roles/selinux/ 目录中的 README.mdREADME.html
  • 有关 RHEL 系统角色的更多信息,请参阅 RHEL 系统角色简介

5.2. 使用 SELinux 系统角色在多个系统中应用 SELinux 设置

按照以下步骤,在已验证的 SELinux 设置中准备并应用 Ansible playbook。

先决条件

流程

  1. 启用 RHEL Ansible 存储库,例如:

    # subscription-manager repos --enable ansible-2-for-rhel-8-x86_64-rpms
  2. 安装 Ansible Engine:

    # yum install ansible
  3. 安装 RHEL 系统角色:

    # yum install rhel-system-roles
  4. 使用 SELinux 系统角色应用您的 playbook。

    以下命令应用一个 playbook 示例,它是 rhel-system-roles 软件包的一部分。您可以使用此 playbook 作为模板:

    # ansible-playbook -i host1,host2,host3 /usr/share/doc/rhel-system-roles/selinux/example-selinux-playbook.yml

其它资源

  • 如需更多信息,安装 rhel-system-roles 软件包以及查看 /usr/share/doc/rhel-system-roles/selinux//usr/share/ansible/roles/rhel-system-roles.selinux/ 目录。

为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。