Na semana passada, dediquei todo o meu esforço a aprender Puppet. Agora, sofro de um transbordamento mental e pouca confiança de poder domesticar esse animal. Encontrei muitos exemplos anotados, mas devido a suas inúmeras variações, não consigo discernir entre o estilo e as convenções de bonecos recomendados (recentes) e as abordagens ad hoc "funciona para mim". Não aguento mais porque parece ser sobre coisas básicas.
Então. Usando o Puppet para gerenciar grupos e usuários, o grupo principal dos usuários é igual ao seu próprio nome de usuário, outros grupos podem ser lan
para logins de lan, wheel
para administradores, shell
para usuários com shell em nós arbitrários, mail
para usuários, daemons
para vários daemons. Os logins de administrador estarão em todos os nós e, para piorar, um log de LAN também pode ser um shell.
Pelo que entendi, não há problema em definir um usuário várias vezes se você usar definições virtuais realizadas em algum momento. Parece fabuloso, então como isso funciona com vários grupos para um usuário? Digamos que Bob possa usar os nós da LAN e o nó beastie.wan; seu login é thebob
definido duas vezes, em lanusers.pp with groups => ["lan"]
e em shellusers.pp with groups => ["shell"]
? E se Bob quiser que a senha da sua LAN seja separada da senha do shell?
O código que uso atualmente não possui definições virtuais, os usuários são apenas inclusões simples codificadas. Em um ponto, deparei-me com um exemplo usando virtuais e foi aí que fiquei preso porque não entendo como expandir o código para que o Puppet crie um grupo primário e os grupos necessários que eu defini primeiro e depois ingresse no usuário nesses grupos. .
Certo. Por favor, cluebat me corretamente.
O Puppet não se dá bem com o gerenciamento complicado de usuários / grupos. Você seria muito melhor implementando algo como LDAP - por mais que eu não goste, funcionará muito melhor do que tentar colocar Puppet na finalização.
fonte