在ansible playbook中创建用户密码

在ansible playbook中创建用户密码,ansible,centos,Ansible,Centos,我想创建一个用户并为他设置密码。 用户模块中的第一个密码行和第二个密码行不起作用。试图通过哈希变量传递,但没有成功:) 如果我跑 并将值放入密码行中-它工作正常,但我仍然希望使用我的密码变量。您能告诉我如何将其值发送到此命令中吗 "password | password_hash('sha512', 'mysecretsalt') }}" 第二个问题是: 在我用userdel删除了用户,用rm-rf删除了他的homedir之后,ansible_client1每次运行时都会

我想创建一个用户并为他设置密码。 用户模块中的第一个密码行和第二个密码行不起作用。试图通过哈希变量传递,但没有成功:)

如果我跑

并将值放入密码行中-它工作正常,但我仍然希望使用我的密码变量。您能告诉我如何将其值发送到此命令中吗

"password | password_hash('sha512', 'mysecretsalt') }}"

第二个问题是:

在我用userdel删除了用户,用rm-rf删除了他的homedir之后,ansible_client1每次运行时都会跳过任务“为用户创建ssh密钥”,因为在playbook的第一次运行时它看起来很奇怪。它在第二台主机上运行良好。 如果我选中/etc/passwd-两台服务器都存在用户:

[admin@ansible_client1 ~]$ cat /etc/passwd | grep Jim
Jim:x:1004:1005::/home/Jim:/bin/bash

[admin@ansible_client2 Jim]$ cat /etc/passwd | grep Jim
Jim:x:1007:1008::/home/Jim:/bin/bash
每次在ansible_client1上创建用户时,如果homedir在那里,仍然会跳过任务,并且似乎无法在passwd.stdout中找到uname


所以。。。这里可能发生了什么我想知道在第二个任务中你有
“password | password(hash('sha512','mysecretsalt')}”
它必须是
“{password | password(hash('sha512','mysecretsalt')}”
来使用te var
password或
“{'password | password(hash('sha512','mysecretsalt')}”
使用
密码作为密码。

明白了,谢谢Gary!似乎我太困了以至于看不到:))不要发布代码、数据、错误消息等的图像-在问题中复制或键入文本。事实上,这是一个文本复制粘贴从微软一个注意,应该是文本,似乎不知何故,它是识别为图像
[admin@ansible_client1 ~]$ cat /etc/passwd | grep Jim
Jim:x:1004:1005::/home/Jim:/bin/bash

[admin@ansible_client2 Jim]$ cat /etc/passwd | grep Jim
Jim:x:1007:1008::/home/Jim:/bin/bash