RHCE之路--14创建用户帐户

275 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

RHCE之路--14创建用户帐户

1. 考题

RHCE之路--14创建用户帐户 从 materials.example.com/cd/exam_rhc… 下载要创建的用户的列表,并将它保存到 /home/student/ansible 在本次考试中使用在其他位置创建的密码库 /home/student/ansible/locker.yml 。创建名 为 /home/student/ansible/users.yml 的 playbook ,从而按以下所述创建用户帐户: 职位描述为 developer 的用户应当: 在 dev 和 test 主机组中的受管节点上创建 从 pw_developer 变量分配密码 是补充组 devops 的成员 职位描述为 manager 的用户应当: 在 prod 主机组中的受管节点上创建 从 pw_manager 变量分配密码 是补充组 opsmgr 的成员 密码采用 SHA512 哈希格式。 您的 playbook 应能够在本次考试中使用在其他位置创建的库密码文件 /home/student/ansible/secret.txt 正常运行。

2. 解题

vi /home/student/ansible/users.yml
---
- hosts: dev,test,prod
  vars_files:
    - /home/student/ansible/user_list.yml
    - /home/student/ansible/locker.yml

  tasks:
    - name: create group devops
      group:
        name: devops
        state: present
      when: inventory_hostname in groups.dev or inventory_hostname in groups.test
    - name: useradd groups devops
      user:
        name: "{{ item.name }}"
        groups: devops
        password: "{{ pw_developer | password_hash('sha512') }}"
      loop: "{{ users }}"
      when: item.job == "developer" and ( inventory_hostname in groups.dev or inventory_hostname in groups.test )
    - name: create group opsmgr
      group:
        name: opsmgr
        state: present
      when: inventory_hostname in groups.prod
    - name: useradd groups opsmgr
      user:
        name: "{{ item.name }}"
        groups: opsmgr
        password: "{{ pw_manager | password_hash('sha512') }}"
      loop: "{{ users }}"
      when: item.job == "manager" and inventory_hostname in groups.prod

3. 确认本题是否成功

ansible-playbook /home/student/ansible/users.yml --vault-password=/home/student/ansible/secret.txt

image.png

这条应该在test,dev有正常返回

ansible test,dev -a 'id john'

这两条在test,dev应该没有

ansible test,dev -a 'id james'
ansible test,dev -a 'id mary'

这两条在prod应该有

ansible prod -a 'id james'
ansible prod -a 'id mary'

这条在prod应该没有

ansible prod -a 'id john'

image.png