ansible创建用户时,密码问题

ansible基于模块提供功能,我们常用到用户管理模块-user,ansible不支持明文密码,所以我们在创建一个用户时,若需要设置密码的话则需要预先把密码变为密文才可以。

步骤:
1、安装python-pip,并安装加密函数库-passlib

[[email protected] ~]# yum -y install python-pip
[[email protected] ~]# pip install --upgrade pip
[[email protected] ~]# pip install passlib

2、使用加密函数库,获取密文密码

[[email protected] ~]# python -c "from passlib.hash import sha512_crypt; import getpass; print(sha512_crypt.using(rounds=5000).hash(getpass.getpass()))"
Password: 输入密码
$6$ay9zG3B0W54t2tBV$H.LmXhNujzpZNltz7fxUkTbWEQvOgXV4lj6A/0Dpgi0/GQsFWhVzdADjrG/o1IxjBiNP2RzzvSU.BFtaVEDS3/                                   <---获得加密密码

3、我们创建一个系统用户,指定用户密码

[[email protected] ~]# ansible webservers -m user -a "name=tom state=present comment=‘this is user tom‘ system=yes password=‘\$6\$ay9zG3B0W54t2tBV\$H.LmXhNujzpZNltz7fxUkTbWEQvOgXV4lj6A/0Dpgi0/GQsFWhVzdADjrG/o1IxjBiNP2RzzvSU.BFtaVEDS3/‘"

4、查看测试
我们可以看到被管理主机已创建用户"tom",并且密码为密文已写入"/etc/shadow"用户文件中,尝试用ssh命令使用tom用户登录被管理主机,登录成功!

[[email protected] ~]# ansible webservers -m shell -a "cat /etc/shadow|grep tom"
192.168.1.50 | SUCCESS | rc=0 >>
tom:$6$ay9zG3B0W54t2tBV$H.LmXhNujzpZNltz7fxUkTbWEQvOgXV4lj6A/0Dpgi0/GQsFWhVzdADjrG/o1IxjBiNP2RzzvSU.BFtaVEDS3/:17707::::::
[[email protected] ~]# ssh [email protected]
[email protected]‘s password: 输入密码
Last login: Sun Jun 24 21:13:52 2018 from 192.168.1.22
[[email protected] ~]$ 

原文地址:http://blog.51cto.com/10978134/2132334

时间: 2024-10-06 10:04:40

ansible创建用户时,密码问题的相关文章

ansible创建用户时密码问题的踩坑记录

在学习ansible的时候,设置新用户时遇到坑,比较隐蔽,一而再地中招,于是记录下 第一次,直接用明文 $ ansible dev -m user -a "name=Nick password=123" [WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this module to work properly. 192.

linux实战考试题:批量创建用户和密码-看看你会么

linux实战考试题:批量创建用户和密码-看看你会么? 老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: # echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|p

创建用户时出现如下错误[[email&#160;protected] ~]# useradd alix useradd: user &#39;alix&#39; already exists

原因 之前存在ID 名字相同的用户,用userdel删除后 家目录和邮件没有删除 解决方法: 1.删除之前存的目录和邮件 [[email protected] ~]# rm -rf alix [[email protected] ~]# rm -f/var/spool/mail/alix 2.现在重新创建 useradd alix 创建用户时出现如下错误[[email protected] ~]# useradd alix useradd: user 'alix' already exists

windows Server 2008 R2 添加新用户时密码不满足密码策略的要求

---------------------------本地用户和组---------------------------在计算机 WINSERVER2008R2 上创建用户 lintx 时,出现了以下错误: 密码不满足密码策略的要求.检查最小密码长度.密码复杂性和密码历史的要求.---------------------------确定 --------------------------- 主要是修改以下两个策略 1.密码必须符合复杂性要求——禁用 2.密码长度最小值——设置为0

(转)linux实战考试题:批量创建用户和密码-看看你会么?

老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1:[[email protected] /]# echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|passwd --

linux实战考试题:批量创建用户和密码(不能使用循环)

批量创建10个用户,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: [[email protected] /]# echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|passwd --stdin \1; echo -e "

解决linux下创建用户时出现 Creating mailbox file: 文件已存在

原来linux下添加用户后,会在系统里自动加一个邮箱(系统邮箱),路径是:/var/spool/mail/用户名.      可以直接用命令#rm -rf /var/spool/mail/用户名      这样就可以再次添加同一名字的用户. 解决You have new mail in /var/spool/mail/root提示 终端远程登陆后经常提示You have new mail in /var/spool/mail/root 这个提示是LINUX会定时查看LINUX各种状态做汇总,每经

Linux-练习-批量创建用户5密码长度

1 echo admin{1..10}|xargs -n 1 | xargs -i echo '{}:openssl rand -base64 5' | awk -F":" '{print "useradd",$1";""x=$("$2");echo $x >> password.doc;echo $x""|""passwd --stdin",$1}' |

【mysql创建用户|删除用户|修改用户权限|常用命令】

原文链接:http://blog.csdn.net/leili0806/article/details/8573636 1.       CREATE USER 语法: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '1