我正在尝试创建将创建用户列表的剧本。
但是,我还想为每个用户生成随机密码。生成密码后,我希望在剧本文件旁边有一个包含 username:new_ generated_password 键值的文本文件。是否可以在不开发新模块的情况下做到这一点?
The password lookup https://docs.ansible.com/ansible/latest/plugins/lookup/password.html可以为您生成密码并将生成的密码放在控制计算机上(即运行 playbook 的位置)。创建用户并设置其密码的示例任务可能如下所示:
- name: Create users with auto generated password
user:
name: "{{ item.name }}"
password: "{{ lookup('password', 'credentials/' + item.name + '/password.txt encrypt=md5_crypt') }}"
with_items: users
然后这将创建一个名为的文本文件~/credentials/$username/password.txt
在控制机上。如果您要重新运行 Ansible,Ansible 会将该文件路径识别为密码,并确保将用户的密码设置为相同的值 - 使其具有幂等性。
这并不能满足您的要求,但可以将您需要的所有信息发送到 Ansible 控制主机,以便您可以进一步操作它以获得您想要的最终输出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)