【问题标题】:Ansible doesn't seems to apply encrypted vault password but reads the vault fileAnsible 似乎没有应用加密的保管库密码,但会读取保管库文件
【发布时间】:2021-03-04 01:48:44
【问题描述】:

我是 ansible 的新手,正在尝试使用 ansible-vault 创建具有加密密码的新用户。 taget 系统是 OpenBsd,我在 Ubuntu 20.04 上使用 ansible 2.10 . “问题”是剧本完成后,我在输出中收到此消息

"passord": "NOT_LOGGING_PASSWORD" 且密码未设置/更新。

我首先使用 ansble-vault 创建和编辑我的 Vault 文件。

我的保管库文件的内容:

user_pass: pass

这是我的剧本:

- name: Add new user
  hosts: all
  vars_files:
    - "../vars/pass.yml"

  tasks:
  - name: Add regular user
    user:
      name: foo
      update_password: always
      password: "{{ vault_user_pass | password_hash('sha512') }}"
      create_home: yes
      shell: /bin/sh
      generate_ssh_key: yes
      ssh_key_type: rsa
      ssh_key_bits: 2048
      ssh_key_passphrase: ''
    become_user: root

您知道为什么没有设置/更新密码吗?我尝试使用调试模块打印 Vault 变量以检查 var 是否可读,是的,是的。用户已创建,但使用另一个密码。我还尝试使用 mkpasswd 对密码进行哈希处理,但结果相同。

如果您需要更多信息,请不要犹豫:)。

提前谢谢你。

【问题讨论】:

标签: ansible ubuntu-20.04 openbsd ansible-vault


【解决方案1】:

变量名是user_pass,即使您的变量在保险库文件中,您也不需要使用保险库前缀。

尝试如下

- name: Add new user
  hosts: all
  vars_files:
    - "../vars/pass.yml"

  tasks:
  - name: Add regular user
    user:
      name: foo
      update_password: always
      password: "{{ user_pass | password_hash('sha512') }}"
      create_home: yes
      shell: /bin/sh
      generate_ssh_key: yes
      ssh_key_type: rsa
      ssh_key_bits: 2048
      ssh_key_passphrase: ''
    become_user: root

【讨论】:

  • 我的错,变量在两个文件中具有相同的名称“vault_user_pass”
  • 别担心,你的剧本执行得如何?你能用 var "vault_user_pass" 写一个调试任务来查看值吗?
  • 剧本上线ansible-playbook tasks/add.yml -i inventory.yml --ask-vault-pass -u root -v
猜你喜欢
  • 1970-01-01
  • 2018-02-19
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 2020-08-17
  • 1970-01-01
相关资源
最近更新 更多