пользователь модуля не принимает зашифрованный пароль, созданный ansible -vault? - PullRequest
0 голосов
/ 07 мая 2020

Недавно я использовал модуль 'user' для создания пользователя с паролем, указанным в vars / main.yml

- name: Create pamuser
  user:
    name: pamuser
    password: "{{ pamuser_pass }}"
    groups: wheel
    append: yes
  tags: pamuser

После запуска playbook выдает это предупреждение

TASK [prerequisite : Create pamuser] *****************************************************************************
[WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this
module to work properly.

Затем я использую команду ansible -vault encrypt_string для шифрования только указанной c переменной "pamuser_pass" путем замены открытого текста паролем хранилища, который ansible -vault дал мне

содержимое в /vars/main.yml

---
# vars file for prerequisite role
pamuser_pass: !vault |
              $ANSIBLE_VAULT;1.1;AES256
              65643265346231613137396339303834396663383466636631646337303235306137386534396266
              3364333534616238396465626436376561323762303139620a376630643131323133336164373237
              64663332363233303032636638306566303034393137636533373332383334333439663930613232
              3737

затем я удаляю текущий pamuser и повторно запускаю playbook с помощью команды

ansible-playbook playbook.yaml --tags "pamuser" --ask-pass -K --ask-vault-pass

Наряду с запущенным процессом он по-прежнему показывает предупреждение

[WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this
    module to work properly.

результат кажется нормальным с id pamuser, но после входа в систему с s sh pamuser@example.com затем введите обычный пароль, пароль не работает. Я не могу войти в систему с этим pamuser.

Что-то я пропустил?

Ответы [ 2 ]

1 голос
/ 07 мая 2020

Вы должны следовать одному из рекомендованных способов, упомянутых здесь , чтобы предоставить ha sh. Это не обычное шифрование хранилища в ansible. Это c указывается в пользовательском модуле. Ниже из do c:

Как мне сгенерировать зашифрованные пароли для пользовательского модуля? Самый простой вариант - команда Ansible ad-ho c:

    ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha512',
  'mysecretsalt') }}"

Утилита mkpasswd, доступная в большинстве систем Linux, также является отличным вариантом:

mkpasswd --method=sha-512
0 голосов
/ 13 июля 2020

Я пробовал использовать рекомендованные способы, но они не работают, не могли бы вы посоветовать?

[user1@rhhost1 ~]$ ansible all -i localhost, -m debug -a "msg={{'hello' | password_hash('sha512','mysecretsalt')}}"
    localhost | SUCCESS => {
        "msg": "$6$mysecretsalt$tD6lGf9FdSWKyrGT7O/h8DvbPso3lPDhYYxjmL.tInFSxnAAkjzRfMCew/.tVPkJMrSKhToVL2KUzKB9FMGWZ1"
    }

[user1@rhhost1 ~]$ ansible rhhost2* -m user -a "name=user4 state=present home=/home/user4 shell=/bin/bash password=$6$mysecretsalt$tD6lGf9FdSWKyrGT7O/h8DvbPso3lPDhYYxjmL.tInFSxnAAkjzRfMCew/.tVPkJMrSKhToVL2KUzKB9FMGWZ1" -b -K
    BECOME password:
    [WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this module to work
    properly.
    rhhost2.localnet.com | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/libexec/platform-python"
        },
        "changed": true,
        "comment": "",
        "create_home": true,
        "group": 1003,
        "home": "/home/user4",
        "name": "user4",
        "password": "NOT_LOGGING_PASSWORD",
        "shell": "/bin/bash",
        "state": "present",
        "system": false,
        "uid": 1003
    }

[user1@rhhost1 ~]$ ansible --version
    ansible 2.9.10
      config file = /etc/ansible/ansible.cfg
      configured module search path = ['/home/user1/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
      ansible python module location = /usr/lib/python3.6/site-packages/ansible
      executable location = /usr/bin/ansible
      python version = 3.6.8 (default, Apr 16 2020, 01:36:27) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...