我使用apg为新用户生成密码
简单:
$password = generate('/etc/puppet/utils/gen_password')
这个命令唯一的问题是我只需要一次,但是每次运行木偶时都会被评估。
这个variables在一个Exec声明中使用。
有没有可能,仅在必要的时候评估可扩展性? 例如,如果它是第一次使用。
您可以使用多个选项来有条件地运行exec。 select一个适合您的需求:
如果您没有在Exec中使用密码,那么Kazimieras Aliulisbuild议的方法可能不适合您。
如果是我,我可能会修改/etc/puppet/utils/gen_password脚本,始终返回每个服务/主机相同的密码。 你将有木偶调用这个generte generate("/etc/puppet/utils/gen_password $::clientcert") 。
然后在脚本中查看是否为该系统生成了一个密码,如果它已经返回。 如果没有,则生成一个新的,存储并返回。
如果可能的话不要存储并返回未encryption的密码。 而是生成并返回盐渍密码哈希。
当然,如果您可以完全跳过使用密码,而是使用证书或密钥进行身份validation,那就更好了。