Bootstrap

ansible实现远程批量创建用户并且对其密码进行加密设置

1.远程批量创建用户
1.编写yaml配置文件

[devops@server1 ansible]$ vim adduer.yml
文件编辑内容如下:
---
- hosts:  all
  tasks:
    - name: create users
      user:
        name: "{{ item  }}"
        state:  present
        password: westos
      loop:
        - user1
        - user2
        - user3
        - user4

在这里插入图片描述
2.playbook该文件并且查看
在这里插入图片描述
在这里插入图片描述
查看发现密码是可见的,这对于用户本身来所是不安全的

2.删除创建用户

[devops@server1 vars]$ vim adduser.yml
---
- hosts:  all
  tasks:
    - name: create users
      user:
        name: "{{ item  }}"
        state:  absent
        password: westos
      loop:
        - user1
        - user2
        - user3
        - user4               

在这里插入图片描述
执行操作删除用户:
在这里插入图片描述
2.ansible-vault加密模块的应用:

a.编写yml文件

[devops@server1 ansible]$ mkdir vars
[devops@server1 ansible]$ cd vars/
[devops@server1 vars]$ vim userlist.yml

b.对yml文件进行加密
在这里插入图片描述
c.再次查看yml文件发现无法查看到文件的内容,如果要查看需要使用固定格式输入密码才能查看到文件内容
在这里插入图片描述
在这里插入图片描述

3.远程创建用户并且对其密码进行加密:
1.在vars目录下再次编写userlist.yml文件并且对其进行加密

[devops@server1 vars]$ pwd
/home/devops/ansible/vars
[devops@server1 vars]$ vim userlist.ym

---
userlist:
  - user: user1
    pass: westos
  - user: user2
    pass: redhat

2.对该userlist.yml文件进行加密
在这里插入图片描述
3.再次编写adduser.yml文件调用已经加密过的userlist.yml文件

[devops@server1 ansible]$ pwd
/home/devops/ansible
[devops@server1 ansible]$ vim adduer.yml 
文件编辑内容如下:
---
- hosts:  all
  vars_files:
    - vars/userlist.yml
  tasks:
    - name: create users
      user:
        name: "{{ item.user  }}"
        state:  present
        password: "{{ item.pass | password_hash('sha512','mysecretsalt')  }}"
      loop: "{{ userlist  }}"

在这里插入图片描述
3.使用加密文件创建用户
在这里插入图片描述
4.在server2和server3上查看用户,发现其密码已经是加密过的

cat /etc/shadow
在这里插入图片描述

;