文章目录
@H_502_27@批量添加用户添加用户,不设置密码的形式
- 编辑.yml文件
[devops@server1 ansible]$ touch createuser.yml
[devops@server1 ansible]$ vim createuser.yml
---
- hosts: test
tasks:
- name: create user
user:
name: "{{ item }}" #循环 添加user1~3
state: present
loop:
- user1
- user2
- user3
- 执行
[devops@server1 ansible]$ ansible-playbook createuser.yml
- 在server2主机查看
[root@server2 ~]# cat /etc/shadow
设置密码,但是密码为明文形式
密码为明文形式,不安全。
方法一:全部写入createuser.yml文件中。
[devops@server1 ansible]$ vim createuser.yml
---
- hosts: test
tasks:
- name: create user
user:
name: "{{ item.user }}"
password: "{{ 'item.pass' | password_hash('sha512') }}" #采用哈希加密
state: present
loop:
- { user: user1, pass: 123}
- { user: user2, pass: 456}
- { user: user3, pass: 789}
执行:
[devops@server1 ansible]$ ansible-playbook createuser.yml
[root@server2 ~]# cat /etc/shadow
[devops@server1 ansible]$ vim userlist.yml
---
userlist:
- user: user1
pass: 123
- user: user2
pass: 456
- user: user3
pass: 789
[devops@server1 ansible]$ vim createuser.yml
---
- hosts: test
vars_files:
- userlist.yml #用户名和密码的文件,在同一个目录下
tasks:
- name: create user
user:
name: "{{ item.user }}"
password: "{{ 'item.pass' | password_hash('sha512') }}"
state: present
loop: "{{ userlist }}"
执行:
[devops@server1 ansible]$ ansible-playbook createuser.yml
设置密码,且密码为密文形式
- 查看ansible加密模块的用法
[devops@server1 ansible]$ ansible-vault
Usage: ansible-vault [create|decrypt|edit|encrypt|encrypt_string|rekey|view] [options] [vaultfile.yml] 加密 编辑 查看 为几个常用的方法
[devops@server1 ansible]$ vim userlist.yml
---
userlist:
- user: user1
pass: '123'
- user: user2
pass: '456'
- user: user3
pass: '789' #密码都引起来,字符串
[devops@server1 ansible]$ vim createuser.yml
---
- hosts: test
vars_files:
- userlist.yml
tasks:
- name: create user
user:
name: "{{ item.user }}"
password: "{{ item.pass | password_hash('sha512') }}" #不引
state: present
loop: "{{ userlist }}"
[devops@server1 ansible]$ ansible-vault encrypt userlist.yml
[devops@server1 ansible]$ cat userlist.ym
[devops@server1 ansible]$ ansible-vault view userlist.yml
[devops@server1 ansible]$ ansible-vault edit userlist.yml
---
userlist:
- user: user1
pass: '123'
- user: user2
pass: '456'
- user: user3
pass: '789'
- user: user4 #加入
pass: 'westos'
[devops@server1 ansible]$ ansible-vault view userlist.yml
- 使用加密的方式创建用户。
[devops@server1 ansible]$ ansible-playbook createuser.yml --ask-vault-pass
- 执行成功,在目标主机server2查看,发现密码已经是加密过的:
[root@server2 ~]# cat /etc/shadow
- 可以ssh远程连接,也可以切换su
[devops@server1 ansible]$ ssh user1@server2
[user1@server2 ~]$ su - user4
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。