Я хочу, чтобы Puppet не управлял паролем (т.е. сбрасывал его при изменении), а устанавливал начальный пароль, когда Puppet создает пользователя.
Я думал сделать notify
чтобы Exec
ресурс, который устанавливает пароль, но срабатывает при изменении любого свойства, которым управляет Puppet (например, членство в группе, домашний каталог и т. д.). Я не хочу этого.
Любые идеи?
Сам Puppet изначально не поддерживает «устанавливать пароль при создании пользователя, но не иначе».
Один из вариантов - настроить внешний источник аутентификации, такой как LDAP.
Другой был бы твой notify
чтобы Exec
идея, но сделать Exec
немного умнее.
exec {
"/usr/sbin/usermod -p '${password}' ${user}":
onlyif => "/bin/egrep -q '^${user}:[*!]' /etc/shadow",
require => User[$user];
}
Я не тестировал это, но проверив, не был ли пароль установлен в Exec
ресурс, вы должны получить желаемый результат. Я думаю, что так настроили notify
/refreshonly
вещи не нужны, но, вероятно, не повредит.