使用 Ansible 添加用户并设置密码

使用 Ansible 添加用户并设置密码

我创建了 Ansible 剧本来创建用户并设置密码。但这给了我一个错误

错误:密码不是 Ansible Play 的合法参数

---
- hosts: all
  user: root
  vars:
  password: jbJe1oRlSZKQ6
  tasks:
    - user: name=testuser password={{password}}

答案1

首先:您需要password:在剧本中缩进,因为您希望它是一个变量:

vars:
  password: hashed_password

如果它没有缩进,那么 Ansible 会将其视为播放参数并抛出错误,因为password不是。


其次:除非您在 OSX 上为用户设置密码,否则您需要提供密码的哈希值。遵循详细指示,但基本上你需要提供以下输出:

mkpasswd --method=SHA-512

或者安装passlib

pip install passlib

并运行:

python -c "from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.encrypt(getpass.getpass())"

答案2

- 主机:您的主机名
   变为:真实
   变量:
     # 创建于:
     # python -c '导入地穴; print crypt.crypt("这是我的密码", "$1$SomeSalt$")'
     密码:$1$SomeSalt$aIJ0bvHJBSYd307VQuuD90

   任务:
     - 用户:名称=tset 密码={{密码}} 状态=存在

相关内容