Esta semana pasada me esforcé por aprender Puppet. Ahora sufro de un desbordamiento mental del búfer y poca confianza de poder domesticar a esta bestia. Me encontré con muchos ejemplos anotados, pero debido a sus innumerables variaciones, no puedo discernir entre el estilo de marionetas recomendado (reciente) y las convenciones, y los enfoques ad hoc "funciona para mí". No lo soporto porque parece ser sobre cosas de nivel básico.
Entonces. Usando Puppet para administrar grupos y usuarios, el grupo primario de los usuarios igual a su propio nombre de usuario, otros grupos podrían ser lan
para inicios de sesión de lan, wheel
para administradores, shell
para usuarios con un shell en nodos arbitrarios, mail
para usuarios, daemons
para varios demonios. Los inicios de sesión de administrador estarán en todos los nodos y, para empeorar las cosas, un inicio de sesión lan también podría ser un inicio de sesión de shell.
Por lo que entiendo, está bien definir un usuario varias veces si utiliza definiciones virtuales que se realizan en algún momento. Suena fabuloso, entonces, ¿cómo funciona eso con múltiples grupos para un usuario? Digamos que Bob puede usar tanto nodos LAN como nodos beastie.wan; ¿se thebob
define su inicio de sesión dos veces, en lanusers.pp con groups => ["lan"]
y en shellusers.pp con groups => ["shell"]
? ¿Qué pasa si Bob quiere que su contraseña de LAN esté separada de su contraseña de shell?
El código que uso actualmente no tiene definiciones virtuales, los usuarios son solo inclusiones codificadas. En un momento me encontré con un ejemplo usando virtuales y aquí es donde me quedé atrapado porque no entiendo cómo expandir el código para que Puppet cree un grupo primario y los grupos requeridos que definí primero y luego se unan al usuario en esos grupos .
Correcto. Por favor, dame una idea correcta.