
He configurado un módulo para configurar un nuevo grupo usando la siguiente documentación:https://puppet.com/docs/puppet/latest/types/group.html.
[root@puppetmaster ~]# cat /etc/puppet/modules/change-groups/manifests/init.pp
class change-groups {
group { "newgroup":
gid => 3651,
members => "user1,user2",
}
}
Desafortunadamente recibo un mensaje de error. ¿Cuál podría ser la razón?
info: /Group[newgroup]: Provider groupadd does not support features manages_members; not managing attribute members
Respuesta1
Basado en eldocumentación:
Gestionar grupos. En la mayoría de las plataformas esto sólo puede crear grupos.La membresía del grupo debe administrarse en usuarios individuales.
En algunas plataformas, como OS X, la pertenencia a un grupo se gestiona como un atributo del grupo, no como un registro de usuario. Los proveedores deben tener la función 'manages_members' para administrar la propiedad 'members' de un registro de grupo.
Esto esnotoriamenteno funciona en plataformas Linux que usan groupadd/groupmod/groupdel para editar grupos; consulteproblema ascendente n.° 1298.
Hay unproveedor de grupo alternativopor la Universidad Estatal de Portland que puede editar el archivo del grupo.
Otra opción es utilizar Augeas para gestionar el archivo del grupo.
Respuesta2
Los proveedores de grupos predeterminados en la distribución de Puppet no incluyen uno capaz de administrar membresías de grupos. Sin embargo, alguien de la Universidad Estatal de Portland requirió la misma funcionalidad y codificóalgunos proveedores personalizados. Lo que necesita de esto es el archivo ggroupadd.pp
que le gustaría colocar /etc/puppet/modules/custom/lib/puppet/provider/group
(ajústelo adecuadamente para reflejar la ubicación de su directorio de módulos personalizados).
El nuevo proveedor ggroupadd administrará los grupos para que todo lo que ingrese en el atributo de miembro /etc/group
también entre en el archivo.
Respuesta3
Parece que los mantenedores del títere nunca le brindaron apoyo. Estoy mirando la funcionalidad groupadd en las bibliotecas de Ruby y parece ser una combinación de código descuidado y/o código incompleto.