Jogo Ansible para criar usuário não definindo senha

4

Tente definir uma senha aleatoriamente e criar um usuário com ela:

vars:

users:
  - username: myuser
    password: "{{ 99999999999999 | random | to_uuid }}"

papel:

- name : Add user accounts
  user:
    name: "{{ item.username }}"
    shell: /bin/bash
    groups: sudo,users,admin,adm,ubuntu
    password: '{{ item.password | password_hash("sha512") }}'
  become: true
  with_items: "{{ users }}"

- name: Store users' password in file
  copy:
    content: "{{ item.password }}"
    dest: /home/{{ item.username }}/password.txt
    mode: 0600
    owner: "{{ item.username }}"
  become: true
  with_items: "{{ users }}"

Isso é provisionado em uma estação de trabalho ansible OSX, e a instância na qual a conta de usuário é provisionada é uma instância do Ubuntu 14.04.

Essas etapas são concluídas sem erros e o password.txt é criado na pasta inicial do usuário e preenchido com uma string uuid, que eu esperaria que fosse a senha. Há também uma string semelhante ao sha512 adicionada a /etc/shadow para o usuário relevante.

/home/myuser/password.txt :

df81ab5c-c06c-5a2c-b08a-28d52b3a2f6f

/etc/shadow :

myuser:$6$rounds=656000$YKieOBXtL6UKP0lO$5zgyi9D9tmbINkoDVL0EghbCCYInKdyPJ2UFnrDFLAQkB2x7sWBrjKS0uTySvcDGF6jUN1noMvaVD9jp/Dxx71:17193:0:99999:7:::

/var/log/auth.log após su myuser de falha:

pam_unix(su:auth): authentication failure; logname=ubuntu uid=1000 euid=0 tty=/dev/pts/1 ruser=ubuntu rhost=  user=myuser
pam_authenticate: Authentication failure
FAILED su for myuser by ubuntu
- /dev/pts/1 ubuntu:myuser

No entanto, o resultado é que a senha não funciona com comandos como sudo -i como usuário ou su myuser de outra conta.

Eu li que o OSX vs Linux pode resultar em chaves incompatíveis, mas até onde eu posso dizer uma das passlibs (quais |password_hash('sha512') pontos de venda é compatibilidade entre plataformas.

Estou usando essas tarefas / filtros corretamente ou estou faltando alguma coisa?

    
por DanH 25.01.2017 / 17:46

0 respostas

Tags