我希望Puppet不管理密码(即,在更改密码时重置密码),但要在Puppet创建用户时设置初始密码.
我正在考虑向设置密码的Exec资源进行通知,但是当Puppet管理的任何属性被修改时(例如,组成员资格,主目录等),这将被触发.我不要那个.
有任何想法吗?
解决方法
Puppet本身不支持“在用户创建时设置密码,但不支持”.
一种选择是设置外部身份验证源,例如LDAP.
另一个是你通知Exec的想法,但是让Exec变得更聪明.
exec { "/usr/sbin/usermod -p '${password}' ${user}": onlyif => "/bin/egrep -q '^${user}:[*!]' /etc/shadow",require => User[$user]; }
我没有测试过,但是通过检查是否在Exec资源中没有设置密码,你应该得到你想要的结果.我认为这样设置,notify / refreshonly的东西不是必需的,但可能不会受到伤害.