ansible 的 user 模块可以设置用户的密码 .. 这个密码需要使用 sha512 的方法加密一下,生成这样的密码需要用到一些工具 .. 我的 ansible 控制机是一个容器,容器的镜像是我自己做的,在这个镜像里面我已经安装好了生成 sha512 密码需要的工具 ..
在这个 Dockerfile 里面,可以找到生成加密的密码的命令 ... 复制一下 .... 然后在管理机上执行一下 ... 会提示我们输入密码 ... 这个密码就是要为用户设置的密码 .. 123123 ..
python -c "from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.encrypt(getpass.getpass())"
再执行一下 .. 会给我们返回加密之后的密码 ... 复制一下这块内容 ... 回到编辑器 .. 找到 添加用户 这个任务 .. 添加一个 password .. 它的值就是加密之后的密码 ..
回到终端 .. 执行一下这个 playbook ... 限制一下任务的标签 ..
ansible-playbook app.yml -t user
然后可以试一下用新添加的这个用户去执行一个任务 ..
ansible all -m ping -u wanghao -k
输入新给这个用户设置的密码 ... 会提示成功 .. 说明我们给用户设置的密码已经生效了 ..