Ansible———创建用户、设置更改密码
创建用户、设置更改密码
1、创建一个名为 locker.yml 的 ansible vault 文件存储用户密码:
Vault 文件中包含两个变量:
pw_developer: imadev
pw_manager: imamgr
加密此文件的密码为redhat
此密码存放在:~/ansible/secret.txt
2、创建用户账户
需要创建的用户账户清单来自于files/14/user_list.yml,请拷贝到~/ansible中
配合上一题的locler.yml,创建名为users.yml的playbook,要求如下:
■ 用户的 job description 为 developer 的用户, 创建到 dev和test 主机组中,用户密码来自pw_developer变用量,用户的附加组是devops
■ 用户的 job description 为 manager 的用户,创建到 prod 主机组中,用户密码来自pw_manager变量,用户附加组是opsmgr
■ 用户密码使用 SHA512 hash
3、为 Ansiblev ault 文件修改密码
请为 expense.yml 文件修改 vault 密码, 要求如下:
请将 files/15/expense.yml 文 件 保 存 到 ~/anstble/expense.yml
此文件当前的 vault 密码是: veryimportant
新的 vault 密码足: notveryimportant
1、创建存储密码的文件
2、创建locker.yml
ansible-vault view locker.yml --vault-password-file=secret.txt
3、创建用户
---
- name: Create user
hosts: all
vars_files:
- locker.yml
- user_list.yml
tasks:
- name: Create group devops
group:
name: devops
state: present
when: ansible_hostname in groups['dev'] or ansible_hostname in
groups['test']
- name: Create group opsmgr
group:
name: opsmgr
state: present
when: ansible_hostname in groups['prod']
- name: create user for dev and test
user:
name: "{{ item.name }}"
groups: devops
password: "{{ pw_developer | password_hash('sha512') }}"
loop: "{{ users }}"
when: ( ansible_hostname in groups['dev'] or ansible_hostname in
groups['test'] ) and item.job == 'developer'
- name: create user for prod
user:
name: "{{ item.name }}"
groups: opsmgr
password: "{{ pw_manager | password_hash('sha512') }}"
loop: "{{ users }}"
when: ansible_hostname in groups['prod'] and item.job == 'manager'
[root@servera ansible]# ansible-playbook user.yml --vault-password-file=secret.txt --syntax-check
成功通过
ansible-playbook user.yml --vault-password-file=secret.txt
4、更改密码