1、直接循环创建

1、编写最基本的yml文件,直接循环创建

[root@server4 ~]# su - devopes
[devopes@server4 ~]$ cd ansible/
[devopes@server4 ansible]$ ls
ansible.cfg   apache.yml   files   inventory   playbook.yml   roles   templates
[devopes@server4 ansible]$ vim createuser.yml
---
- hosts: testtasks:- name: create useruser:name: "{{ item.user }}"password: "{{ item.pass| password_hash('sha512') }}"state: presentloop:- { user: user1, pass: 12345678a }- { user: user2, pass: 12345678a }- { user: user3, pass: 12345678a }

2、查看inventory文件

[devopes@server4 ansible]$ vim inventory
[devopes@server4 ansible]$ cat inventory
[lb]
server4 STATE=MASTER VRID=100 PRIORITY=100
server7 STATE=BACKUP VRID=100 PRIORITY=50 [test]
server5 [prod]
server6 [webserver:children]
test
prod

3、执行yml文件创建用户

[devopes@server4 ansible]$ ansible-playbook createuser.yml  ###正确执行

4、查看用户和用户密码

[root@server5 ~]# cat /etc/passwd | grep user    ##可以查看到创建的user1、user2、user3用户
[root@server5 ~]# cat /etc/shadow | grep user   ###发现三个用户密码是加密的

此时就完成了远程主机的用户创建工作

2、指定文件创建

1、为了实现高效添加,引用文件变量,首先创建一个专门存放用户名和密码的用户列表文件

[devopes@server4 ansible]$ vim userlist.yml
---
userlist:- user: user1pass: 123- user: user2pass: 123- user: user3pass: 123

2、创建指定用户文件(将用户列表通过引用变量的形式和此连接起来)

[devopes@server4 ansible]$ vim createuser.yml
---
- hosts: testvars_files:- userlist.ymltasks:- name: create useruser:name: "{{ item.user }}"password: "{{ item.pass| password_hash('sha512') }}"state: presentloop: "{{ userlist }}"

3、执行创建用户的文件

[devopes@server4 ansible]$ ansible-playbook createuser.yml  ###正确执行

4、切换用户查看是否加密成功

[root@server5 ~]# su - user1
Last login: Mon Aug 12 13:24:22 CST 2019 on pts/0
[user1@server5 ~]$ su - user2
Password:
[user2@server5 ~]$ su - user3
Password:
[user3@server5 ~]$ su - user1
Password:
Last login: Mon Aug 12 13:24:25 CST 2019 on pts/0
[user1@server5 ~]$ logout
[user3@server5 ~]$ logout
[user2@server5 ~]$ logout
[user1@server5 ~]$ logout
[root@server5 ~]#

5、为了安全起见,对存放用户信息的文件进行加密

[devopes@server4 ansible]$ ansible-vault encrypt userlist.yml
New Vault password:
Confirm New Vault password:
Encryption successful
[devopes@server4 ansible]$ cat userlist.yml      ###发现成功加密


6、此时去编辑和查看发现都需要密码

[devopes@server4 ansible]$ ansible-vault edit userlist.yml
Vault password:
[devopes@server4 ansible]$ ansible-vault view userlist.yml
Vault password:
---
userlist:- user: user1pass: 123- user: user2pass: 123- user: user3pass: 123

7、再次直接执行回报错,需要我们指定密码执行

[devopes@server4 ansible]$ ansible-playbook useradd-file.yaml --ask-vault-pass
Vault password:


注意:密码错误时不要使用纯数字

Ansible(五)远程创建用户并对密码进行加密设置相关推荐

  1. 达梦数据库初始化、创建用户和修改密码

    达梦数据库初始化.创建用户和修改密码 进入数据库目录 cd /opt/dmdbms/bin/bin 初始化数据文件路径.簇大小和页大小 ./dminit path=/mnt/data EXTENT_S ...

  2. MySQL 创建用户与修改密码

    创建用户的 3 方法: 1 .create user userName identifed by 'yourPassword'; 2. grant select on *.* to userName@ ...

  3. mysql常用命令,mysql语法,mysql登陆、创建数据库、创建用户、更改密码、为用户授权...

    进入: mysql -u 用户名 -p[回车后输入密码即可] 更改密码: alter user "用户名"@"localhost" identified wit ...

  4. MySQL创建用户,更改密码

    1.创建用户 #foo表示你要建立的用户名,后面的123表示密码, #localhost限制在固定地址localhost登陆 CREATE USER foo@localhost IDENTIFIED ...

  5. 解决达梦数据库DM8创建用户提示:“密码长处不符合要求”问题

    达梦8创建用户 "密码长度不符合要求" 问题解决 从达梦7过渡到了达梦8,新版本数据库我们发现dm.ini中已经找不到配置密码策略的选项了,然而遇到数据库密码必须配合应用设置为固定 ...

  6. 【05】Oracle创建用户、修改密码

    文章目录 1.创建用户 1.1 cmd命令创建用户 1.2 Navicat工具创建用户 1.3 删除用户 2.修改密码 1.创建用户 1.1 cmd命令创建用户 以system身份 登录Oracle数 ...

  7. Oracle 数据库用户锁定与解锁,用户锁定最大密码失败次数设置方法,ORA-28000: the account is locked问题解决方法

    用户多次密码输入错误达到一定值就会被锁定. -- 用户锁定方法 alter user 数据库名 account lock; -- 用户解锁方法 alter user 数据库名 account unlo ...

  8. 用户登录对密码进行加密

    离开上家公司后才发现上家公司的网站 用户登录 对密码是没有任何加密的形式,自己整理了一下对密码加密的方法 如下: 不加密: 我们使用网络探测器能轻易的获取用户的用户名密码,如果这些信息被不发份子获得, ...

  9. oracle创建用户及修改密码

    1.win+R,然后输入"cmd",打开操作系统: 2.输入 sqlplus /nolog 命令 (选择不登录进入连接)/ 3.输入命令 conn /as sysdba(以系统管理 ...

最新文章

  1. java 银联支付反馈,微信支付/支付宝支付/银联支付,对比加总结(Java服务端)
  2. 智慧政务解决方案(28页)pdf_智慧政务解决方案在政务服务大厅中的应用
  3. OC之非ARC环境下循环retain问题
  4. go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤
  5. node配置ssl证书_在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)...
  6. IOT---(7)Android Things 入门
  7. 欧盟网络安全局发布《供应链攻击威胁全景图》报告(上)
  8. mysql 多个表union查询_mysql查询两个表,UNION和where子句
  9. access无法与wincc链接_wincc连接access
  10. Qt实现职工信息管理系统
  11. 当数据库查询速度过慢时,从哪几个方面排查解决?
  12. 串操作指令---movs,stos,rep
  13. c语言vc是什么意思,这个VC语句是什么意思
  14. 目标检测和分类的评价指标
  15. Bandwagon Host IP Change修改IP
  16. 基于LSTM + keras 的古诗生成器
  17. gta5结局杀老崔我哭了_GTA5:大结局最艰难的抉择!杀掉老崔还是麦克?
  18. 【看表情包学Linux】GDB 调试教学 | gcc 和 g++ | 函数库
  19. 她是直播聊学习成“网红”的北大博士!毕业后入职民办学校,年薪70万
  20. 用迁移学习创造的通用语言模型ULMFiT,达到了文本分类的最佳水平

热门文章

  1. 用SMO算法实现了SVM的感悟
  2. sigaction介绍
  3. 随想录(定义自己的cpu和工具链)
  4. 从skyeye学习arm( 工具篇)
  5. 商品管理后台html,商品类型管理.html
  6. python pep8_Python 代码风格 和 PEP8
  7. linux查看tmp,linux下find(文件查找)命令的用法总结-tmp文件
  8. oracle入门很简单豆瓣,Oracle入门经典
  9. java lua传参_Lua将函数参数作为表键传递
  10. java xmpp openfire_java应用之openfire入门篇