Hash Ansible:如何在Ansible_vault文件中创建密码集的pw哈希?
我想在初始化实例时在我的操作系统上使用Ansible te create user。为此,我制定了一个剧本,其中我定义了一个角色。在这个职位上,我有以下几点: 名称:将用户添加到本地系统 用户: 名称:{{item.username} 密码:{{item.password}} uid:{{item.uid} 组:{{item.group} 带项目:{{Ansible\u Vault\u SecretsFile} 这样,我可以在不同环境的不同机密文件中指定用户用户名、密码、uid和组的详细信息。机密文件中的密码为纯文本。因为它被写入/etc/shadow,所以需要对它进行散列。是否有一种方法可以自动将此角色中的密码变量散列 编辑: 为了进一步澄清,我知道secrets文件是加密的,但是当本例中的内容用户名和密码在存储到/etc/shadow文件之前被解密时 我的机密文件如下所示: Ansible_Vault_SecretsFile: 用户名:user1 密码:MyPassword uid:100 组:用户 用户名:user2 密码:MyPassword2 uid:101 组:用户Hash Ansible:如何在Ansible_vault文件中创建密码集的pw哈希?,hash,ansible,ansible-vault,Hash,Ansible,Ansible Vault,我想在初始化实例时在我的操作系统上使用Ansible te create user。为此,我制定了一个剧本,其中我定义了一个角色。在这个职位上,我有以下几点: 名称:将用户添加到本地系统 用户: 名称:{{item.username} 密码:{{item.password}} uid:{{item.uid} 组:{{item.group} 带项目:{{Ansible\u Vault\u SecretsFile} 这样,我可以在不同环境的不同机密文件中指定用户用
角色迭代机密文件,在本例中创建两个用户。在/etc/shadow文件中,密码存储为MyPassword和Mypassword2,但为了登录,需要对这些明文密码进行散列。我正在寻找一种自动执行此操作的方法。如果您使用非纯文本创建/加密机密文件。以下是创建密码的方法,这将对您有所帮助 一,。在大多数Linux系统上可用的mkpasswd实用程序是一个很好的选择 mkpasswd-方法=sha-512 二,。如果您的系统上未安装此实用程序(例如,您正在使用OS X),则仍然可以使用Python轻松生成这些密码。首先,确保安装了Passlib密码哈希库 pip安装passlib
编辑了我的主要帖子,我知道机密文件是加密的,但是当你以这种方式使用它们时,内容会被解密。谢谢你的回答,我正在寻找一种方法将其整合到我的角色中。因此,我的角色创建了几个用户,并使用您的方法之一对从机密文件恢复的密码进行哈希处理。
python -c "from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.using(rounds=5000).hash(getpass.getpass())"