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

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

先决条件

  • 有访问一个或多个受管节点的权限,这是您要使用 selinux 系统角色配置的系统。
  • 控制节点 的访问和权限,这是 Red Hat Ansible Core 配置其他系统的系统。

    在控制节点上:

    • ansible-corerhel-system-roles 软件包已安装 。
    • 列出受管节点的清单文件。
重要

RHEL 8.0-8.5 提供对基于 Ansible 的自动化需要 Ansible Engine 2.9 的独立 Ansible 存储库的访问权限。Ansible Engine 包含命令行实用程序,如 ansibleansible-playbook、连接器(如 dockerpodman )以及许多插件和模块。有关如何获取并安装 Ansible Engine 的详情,请参考如何下载并安装 Red Hat Ansible Engine 知识库文章。

RHEL 8.6 和 9.0 引入了 Ansible Core(作为 ansible-core 软件包提供),其中包含 Ansible 命令行工具、命令以及小型内置 Ansible 插件。RHEL 通过 AppStream 软件仓库提供此软件包,它有一个有限的支持范围。如需更多信息,请参阅 RHEL 9 和 RHEL 8.6 及更新的 AppStream 软件仓库文档中的 Ansible Core 软件包的支持范围

  • 列出受管节点的清单文件。

流程

  1. 准备您的 playbook。您可以从头开始,或修改作为 rhel-system-roles 软件包的一部分安装的示例 playbook:

    # cp /usr/share/doc/rhel-system-roles/selinux/example-selinux-playbook.yml my-selinux-playbook.yml
    # vi my-selinux-playbook.yml
  2. 更改 playbook 的内容,使其适合您的场景。例如,以下部分确保系统安装并启用 selinux-local-1.pp SELinux 模块:

    selinux_modules:
    - { path: "selinux-local-1.pp", priority: "400" }
  3. 保存更改,然后退出文本编辑器。
  4. host1host2host3 系统上运行您的 playbook:

    # ansible-playbook -i host1,host2,host3 my-selinux-playbook.yml

其他资源

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