我想在实例初始化时在我的操作系统上使用 Ansible te create user。为此,我有一个剧本,我在其中定义了一个角色。在这个角色中,我有以下内容:
名称:将用户添加到本地系统
用户:
名称:“{{ item.username }}”
密码:“{{ item.password }}”
uid:“{{ item.uid }}”
组:“{{ item.group }}"
with_items: "{{ Ansible_Vault_SecretsFile }}"
这样,我可以在不同环境的不同机密文件中指定用户的详细信息(用户名、密码、uid 和组)。秘密文件中的密码是纯文本的。由于它被写入 /etc/shadow ,因此需要对其进行哈希处理。有没有办法在这个角色中自动散列密码变量?
编辑:为了进一步澄清,我知道秘密文件是加密的,但是在这种情况下,用户名和密码的内容在存储到 /etc/shadow 文件之前被解密。
我的秘密文件如下所示:
Ansible_Vault_SecretsFile:
用户名:user1
密码:MyPassword
uid:100
组:用户
用户名:user2
密码:MyPassword2
uid:101
组:用户
该角色遍历秘密文件,在这种情况下创建两个用户。在 /etc/shadow 文件中,密码存储为 MyPassword 和 Mypassword2,但为了登录这些明文密码,需要对这些密码进行哈希处理。我正在寻找一种自动执行此操作的方法。