Esse tipo de kludgy, mas você poderia ter um gerador de fatos externo que enumera todos os seus usuários e cria um user_USERNAME
de fatos para cada um. Você poderia então usar isso em declarações condicionais em seus manifestos Puppet:
if $user_lars {
file { '/home/lars':
ensure => directory,
owner => lars,
group => lars,
mode => 0700,
}
}
Escrever fatos externos é fácil; você pode usar qualquer idioma com o qual se sinta à vontade e pode ser tão simples quanto:
#!/bin/sh
getent passwd | cut -f1 -d:
... dependendo do seu ambiente.
Você sabe, olhar para isso me faz sentir culpado, mas é o melhor que posso fazer agora.