Ansible автоматически генерировать случайные пароли для пользователей

Я пытаюсь создать playbook, где будет создан список пользователей.

однако я также хочу генерировать случайный пароль для каждого пользователя. Как только пароли будут сгенерированы, я хотел бы иметь текстовый файл с именем пользователя:new_generated_password значения ключей, рядом с файлом playbook. Возможно ли это сделать без разработки нового модуля?

1 ответов


на password поиск может генерировать пароли для вас и помещает сгенерированный пароль на управляющую машину (т. е. там, где работает playbook). Пример задачи, которая создает пользователя и устанавливает его пароль, может выглядеть примерно так:

- name: Create users with auto generated password
  user:
    name: "{{ item.name }}"
    password: "{{ lookup('password', 'credentials/' + item.name + '/password.txt encrypt=md5_crypt') }}"
  with_items: users

это создаст текстовый файл с именем ~/credentials/$username/password.txt на управление машиной. Если бы вы должны были повторно запустить Ansible play, то Ansible распознал бы этот путь к файлу в качестве пароля и обязательно установил пароль пользователя к той же ценности - делает ее идемпотентной.

Это не совсем то, что вы хотели, но получает всю необходимую информацию на хосте управления Ansible, чтобы вы могли далее манипулировать им, чтобы получить конечный результат, который вы хотели.