我使用以下方式为新用户生成密码亚太区
简单的:
$password = generate('/etc/puppet/utils/gen_password')
此命令的唯一问题是我只需要它一次,但每次运行 puppet 时都会对其进行评估。
此变量用于执行官宣言。
是否有可能仅在必要时才评估变量?例如,如果是第一次使用。
答案1
答案2
如果您没有在 Exec 中使用密码,则建议的方法卡济米拉斯·阿利尤利斯可能不适合你。
如果是我,我可能会修改/etc/puppet/utils/gen_password
脚本,使其始终为每个服务/主机返回相同的密码。您可以让 puppet 像这样调用 generte generate("/etc/puppet/utils/gen_password $::clientcert")
。
然后在脚本中检查是否已为该系统生成密码,以及是否已返回密码。如果没有,则生成一个新密码,将其存储并返回。
如果可能的话,不要存储和返回未加密的密码。而是生成并返回加盐的密码哈希。
当然,如果您可以完全跳过使用密码,而是使用证书或密钥进行身份验证,那就更好了。