Ansible - Изменить пароль пользователя на Linux - PullRequest
0 голосов
/ 19 февраля 2020

Я пишу какую-нибудь книгу для смены имени пользователя на linux. Я хочу использовать одну и ту же книгу для всех пользователей.

Что я делаю:

    - name: change users password
  hosts: localhost
  vars_files: ['credentials.yml']
  tasks:
    - user:
        name: "{{ user_name }}"
        password: "{{ dynamic_password | password_hash('sha512') }}"

И мой file.yml:

credentials.yml
dynamic_password: "$6$mysecretsalt$QF9IdmmJLZWuEO8PKQ0w7c81Rre0hv.udU83ypIO3cG5DbAo90IXwHX6wcuhDJaLAkdE5KSSl9lKvdMFh810b."
generic_password: "$6$IxMDgSamMRSMAEY1$rfGAWC8xBgGMMGOFJXAMxnUuiKVKrH3SDOuNIrJpx4rMZy/FG5spqp1f9oSAcDBpTJ2vOK2rAboWHZ6Zn5qZm."

Что я выполняю:

ansible-playbook prueba81.yml --extra-vars "user_name=pepito type_password=dynamic_password"

Что я хочу сделать, это указать в командной строке пользователя и какой пароль (внутри файла yml) он должен использовать. Но похоже, что переменная type_password не распознается.

Вы можете мне помочь?.

Спасибо !!!!

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Ваши дополнительные переменные в командной строке не устанавливают type_password в значение переменной dynamic_password. Вы буквально устанавливаете переменную type_password в строку «dynamic_password».

Если вы хотите сообщить ansible, какую переменную использовать из командной строки, вы можете сделать это несколькими способами. Вот один пример:

ansible - playbook prueba81.yml --extra-vars "user_name = pepito type_password = Dynami c"

tasks:  
  - user:  
      name: "{{ user_name }}"  
      password: "{{ dynamic_password | password_hash('sha512') }}"  
    when type_password == "dynamic"
0 голосов
/ 19 февраля 2020

Используйте lookup vars для косвенной ссылки на пароль. Например,

  - user:
      name: "{{ user_name }}"
      password: "{{ my_password | password_hash('sha512') }}"
    vars:
      my_password: "{{ lookup('vars', type_password) }}"

Возможно, вы захотите установить тип по умолчанию. Например

  - user:
      name: "{{ user_name }}"
      password: "{{ my_password | password_hash('sha512') }}"
    vars:
      my_password: "{{ lookup('vars', type_password|default('dynamic_password')) }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...