Como posso ter o fantoche apenas para definir a senha ao criar um usuário?

9

Eu quero que o Puppet não gerencie uma senha (ou seja, redefina quando ela for alterada), mas defina a senha inicial quando o Puppet criar o usuário.

Eu estava pensando em fazer um notify para um recurso Exec que define a senha, mas isso é acionado quando qualquer propriedade gerenciada pelo Puppet é modificada (por exemplo, associação ao grupo, diretório inicial, etc.). Eu não quero isso.

Alguma idéia?

    
por Belmin Fernandez 16.01.2012 / 09:39

1 resposta

9

O próprio Puppet não suporta nativamente "definir senha na criação do usuário, mas não de outra forma".

Uma opção seria configurar uma fonte de autenticação externa, como o LDAP.

Outra seria a sua ideia notify para Exec , mas tornaria o Exec um pouco mais inteligente.

exec {
  "/usr/sbin/usermod -p '${password}' ${user}":
    onlyif => "/bin/egrep -q '^${user}:[*!]' /etc/shadow",
    require => User[$user];
}

Eu não testei isso, mas verificando se a senha não foi definida no recurso Exec , você deve obter o resultado que estava procurando. Eu acho que configurar dessa maneira, o material notify / refreshonly não é necessário, mas provavelmente não faria mal.

    
por 16.01.2012 / 19:37