Red Hat Training

A Red Hat training course is available for RHEL 8

第 12 章 使用 Ansible playbook 管理用户帐户

您可以使用 Ansible playbook 管理 IdM 中的用户。本章论述了将 Ansible playbook 用于以下操作:

12.1. 使用 Ansible playbook 确保存在 IdM 用户

以下流程描述了确保使用 Ansible playbook 在 IdM 中存在用户。

先决条件

  • 您知道 IdM 管理器密码。
  • ansible-freeipa 软件包安装在 Ansible 控制器上。

流程

  1. 创建一个清单文件,如 inventory.file,并在该文件中定义 ipaserver

    [ipaserver]
    server.idm.example.com
  2. 创建一个 Ansible playbook 文件,其中包含您要确保的 IdM 中存在的用户数据。要简化此步骤,您可以复制并修改 /usr/share/doc/ansible-freeipa/playbooks/user/add-user.yml 文件中的示例。例如,创建名为 idm_user 的用户并添加 Password123 作为用户密码:

    ---
    - name: Playbook to handle users
      hosts: ipaserver
      become: true
    
      tasks:
      - name: Create user idm_user
        ipauser:
          ipaadmin_password: MySecret123
          name: idm_user
          first: Alice
          last: Acme
          uid: 1000111
          gid: 10011
          phone: "+555123457"
          email: idm_user@acme.com
          passwordexpiration: "2023-01-19 23:59:59"
          password: "Password123"
          update_password: on_create

    您必须使用以下选项来添加用户:

    • name :登录名称
    • 首先 :第一个名称字符串
    • 最后 :姓氏字符串

    有关可用用户选项的完整列表,请参阅 /usr/share/doc/ansible-freeipa/README-user.md Markdown 文件。

    注意

    如果您使用 update_password: on_create 选项,Ansible 仅在创建用户时创建用户密码。如果已使用密码创建了用户,Ansible 不会生成新的密码。

  3. 运行 playbook:

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/add-IdM-user.yml

验证步骤

  • 您可以使用 ipa user-show 命令验证 IdM 中是否存在新用户帐户:

    1. 以 admin 用户身份登录 ipaserver

      $ ssh admin@server.idm.example.com
      Password:
      [admin@server /]$
    2. 为 admin 请求 Kerberos ticket:

      $ kinit admin
      Password for admin@IDM.EXAMPLE.COM:
    3. 请求有关 idm_user 的信息:

      $ ipa user-show idm_user
        User login: idm_user
        First name: Alice
        Last name: Acme
        ....

    IdM 中存在名为 idm_user 的用户。