LINUX.ORG.RU
решено ФорумAdmin

ansible проблема записи хэша пароля в shadow

 , , , ,


0

0

есть роль, которая создает юзеров на удаленной тачке
роль генерирует пароль, после этого генерирует хэш пароля, далее записывает хэш в /etc/shadow

сама роль

- name: password gen
  command: pwgen -1
  register: user_pass

- debug:
      msg="{{user_pass}}"

- name: password hash
  command: python -c 'import crypt; print(crypt.crypt("{{user_pass.stdout_lines}}","$6$saltsalt$"))'
  register: user_passhash

- debug:
      msg="{{user_passhash}}"

- name: newuser
  user:
    name: "{{ item.name }}"
    password: "{{user_passhash.stdout_lines}}"
    shell: /bin/bash
    createhome: yes
    groups: "{{ item.groups }}"
  with_items: "{{ adduser.users }}"
#  when: item.change

- name: set authorized key
  authorized_key:
    user: "{{ item.name }}"
    key: "{{ item.pubkey }}"
    path: /home/{{ item.name }}/.ssh/authorized_keys
    state: present
  with_items: "{{ adduser.users }}"
#  when: item.change

- name: set change password before first login
  command: chage -d 0 {{ item.name }}
  with_items: "{{ adduser.users }}"
#  when: item.change

роль отрабатывает, пароль и хэш генерируется нормально, но передается в переменные с лишними знаками, в итоге хэш записывается не верный

нормальный хэш

test:$6$KjyfytoJ$hoQdVIGcRZgje2HpHFf8ldvooLfY774SrEpHkADUf3d7uGBSwVLeMXsPIfb4l2TaXWvprMz868ZbH8HLaiDeh.:17779:0:99999:7:::

кривой хэш

test:['$6$saltsalt$YY50aqlH8oerDnWaKzHN9fF7k35pUJcgSKthTpx.wi6WN.FAILFhM.0viuFmowWeCbmQtxWjreAS9aqSE/lkJ1']:0:0:99999:7:::

лишние символы

['  '] 

вывод debug
https://pastebin.com/ZdzEjHxm

как убрать лишние символы?

★★★★

Последнее исправление: dormeur86 (всего исправлений: 1)

поменял stdout_lines, на stdout, проблема решилась

dormeur86 ★★★★
() автор топика

Можно сделать проще. В ансибле есть готовый фильтр для генерации password_hash

# с рандомной солью
- debug:
      msg="{{ user_pass | password_hash('sha512') }}"

# с заданной солью
- debug:
      msg="{{ user_pass | password_hash('sha512', 'mysecretsalt') }}"

https://docs.ansible.com/ansible/2.5/user_guide/playbooks_filters.html

CaHbl4
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.