8.4. 使用 Ansible 在单个任务中添加多个 IdM 组

您可以使用 ansible-freeipa ipagroup 模块,使用单个 Ansible 任务添加、修改和删除多个身份管理(IdM)用户组。为此,请使用 ipagroup 模块的 groups 选项。

使用 groups 选项,您还可以指定多个仅应用到特定组的组变量。根据 name 变量定义此组,这是 groups 选项的唯一强制变量。

完成此流程,以确保在单个任务中在 IdM 中存在 sysopsappops 组。将 sysops 组定义为非 posix 组,将 appops 组定义为外部组。

先决条件

  • 在控制节点上:

    • 您使用 Ansible 版本 2.14 或更高版本。
    • 您已安装了 ansible-freeipa 软件包。
    • 您已在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件
    • 您在使用 RHEL 8.9 及更新版本。
    • 您已将 ipaadmin_password 存储在 secret.yml Ansible vault 中。

流程

  1. 使用以下内容创建 Ansible playbook 文件 add-nonposix-and-external-groups.yml

    ---
    - name: Playbook to add nonposix and external groups
      hosts: ipaserver
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
    
      tasks:
      - name: Add nonposix group sysops and external group appops
        ipagroup:
          ipaadmin_password: "{{ ipaadmin_password }}"
          groups:
          - name: sysops
            nonposix: true
          - name: appops
            external: true
  2. 运行 playbook:

    $ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/add-nonposix-and-external-groups.yml