使用ansible-play的user模块批量修改用户密码

使用ansible批量修改用户密码的方法,因为在使用ansible修改用户密码的时候不能使用明文的方式,需要先加密,所以就需要使用一个方法对输入的明文的密码进行加密,操作方法如下:

方法一:
1.1、该方法适用于更改多个用户;playbook写法如下:
vim userpass.yaml

---
- hosts: zksit
  gather_facts: false
  tasks:
  - name: change user passwd
    user: name={{ item.name }} password={{ item.chpass | password_hash('sha512') }}  update_password=always
    with_items:
     - { name: 'jacky', chpass: 'jacky@123' }

1.2、执行playbook如下:
# ansible-playbook userpass.yaml

 

方法二:
2.1 该方法更改单用户比较方便,从外面使用-e参数传递变量到playbook中,playbook写法如下:

vim userpass2.yaml

---
- hosts: test
  gather_facts: false
  tasks:
  - name: Change password
    user: name={{ name1 }}  password={{ chpass | password_hash('sha512') }}  update_password=always

2.2 、执行playbook脚本,使用-e参数传递用户名和密码给剧本,其中jacky为用户名,jacky@123就是要设置密码,执行如下:
# ansible-playbook userpass2.yaml -e "name1=jacky chpass=jacky@123" 

 

你可能感兴趣的:(ansible)