10.2. 使用 selinux 系统角色在多个系统中应用 SELinux 设置
按照以下步骤,在已验证的 SELinux 设置中准备并应用 Ansible playbook。
先决条件
-
有访问一个或多个受管节点的权限,这是您要使用
selinux
系统角色配置的系统。 对 控制节点 的访问和权限,这是 Red Hat Ansible Core 配置其他系统的系统。
在控制节点上:
-
ansible-core
和rhel-system-roles
软件包已安装 。 - 列出受管节点的清单文件。
-
RHEL 8.0-8.5 提供对基于 Ansible 的自动化需要 Ansible Engine 2.9 的独立 Ansible 存储库的访问权限。Ansible Engine 包含命令行实用程序,如 ansible
、ansible-playbook
、连接器(如 docker
和 podman
)以及许多插件和模块。有关如何获取并安装 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 软件包的支持范围。
- 列出受管节点的清单文件。
流程
准备您的 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
更改 playbook 的内容,使其适合您的场景。例如,以下部分确保系统安装并启用
selinux-local-1.pp
SELinux 模块:selinux_modules: - { path: "selinux-local-1.pp", priority: "400" }
- 保存更改,然后退出文本编辑器。
在 host1、host2 和 host3 系统上运行您的 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/
目录。