Adiciona usuário e define senha usando Ansible

4

Eu criei um playbook Ansible para criar usuário e definir senha. Mas está me dando um erro

ERROR: password is not a legal parameter of an Ansible Play

---
- hosts: all
  user: root
  vars:
  password: jbJe1oRlSZKQ6
  tasks:
    - user: name=testuser password={{password}}
    
por user163575 31.03.2016 / 08:45

2 respostas

5

Primeiro: você precisa indentar password: no seu playbook, porque você quer que seja uma variável:

vars:
  password: hashed_password

Se não for recuado, a Ansible considera um parâmetro de reprodução e gera um erro porque password não é.

Segundo: a menos que você esteja definindo a senha para um usuário no OSX, você precisa fornecer um valor com hash de uma senha. Siga as instruções detalhadas , mas basicamente você precisa fornecer a saída de:

mkpasswd --method=SHA-512

Ou instale passlib com:

pip install passlib

e execute:

python -c "from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.encrypt(getpass.getpass())"
    
por 31.03.2016 / 09:01
2
- hosts: Your_host_name
   become: True
   vars:
     # created with:
     # python -c 'import crypt; print crypt.crypt("This is my Password", "$1$SomeSalt$")'
     password: $1$SomeSalt$aIJ0bvHJBSYd307VQuuD90

   tasks:
     - user: name=tset password={{password}} state=present
    
por 10.10.2016 / 16:39