33.5. 使用 Ansible 确保成员在 netgroup 中存在
您可以使用 Ansible playbook 确保 IdM 用户、组和 netgroups 是 netgroup 的成员。这个示例描述了如何确保 TestNetgroup1 有以下成员:
- user1 和 user2 IdM 用户
- group1 IdM 组
- admins netgroup
- 是 IdM 客户端的 idmclient1 主机
先决条件
您已配置了 Ansible 控制节点以满足以下要求:
- 您使用 Ansible 版本 2.13 或更高版本。
-
您已在 Ansible 控制器上安装了
ansible-freeipa
软件包。 - 您已在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
您已将
ipaadmin_password
存储在 secret.yml Ansible vault 中。
- TestNetgroup1 IdM netgroup 已存在。
- user1 和 user2 IdM 用户已存在。
- group1 IdM 组已存在。
- admins IdM netgroup 已存在。
流程
使用以下内容创建 Ansible playbook 文件 IdM-members-present-in-a-netgroup.yml :
--- - name: Playbook to manage IPA netgroup. hosts: ipaserver become: no vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure netgroup members are present ipanetgroup: ipaadmin_password: "{{ ipaadmin_password }}" name: TestNetgroup1 user: user1,user2 group: group1 host: idmclient1 netgroup: admins action: member
运行 playbook:
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory_/IdM-members-present-in-a-netgroup.yml
其它资源
- IdM 中的 NIS
-
/usr/share/doc/ansible-freeipa/README-netgroup.md
-
/usr/share/doc/ansible-freeipa/playbooks/netgroup