
Configurei um módulo para configurar um novo grupo usando a seguinte documentação: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",
}
}
Infelizmente recebo uma mensagem de erro. Qual seria a razão?
info: /Group[newgroup]: Provider groupadd does not support features manages_members; not managing attribute members
Responder1
Com base nodocumentação:
Gerenciar grupos. Na maioria das plataformas isso só pode criar grupos.A associação ao grupo deve ser gerenciada em usuários individuais.
Em algumas plataformas, como o OS X, a associação ao grupo é gerenciada como um atributo do grupo e não como um registro do usuário. Os provedores devem ter o recurso ‘manages_members’ para gerenciar a propriedade ‘members’ de um registro de grupo
Isso énotoriamentenão funciona em plataformas Linux que usam groupadd/groupmod/groupdel para editar grupos - vejaproblema upstream #1298.
Há umprovedor de grupo alternativopela Portland State University que pode editar o arquivo do grupo.
Outra opção é usar Augeas para gerenciar o arquivo do grupo.
Responder2
Os provedores de grupo padrão na distribuição do Puppet não incluem alguém capaz de gerenciar associações de grupos. No entanto, alguém na Portland State University exigiu a mesma funcionalidade e codificoualguns provedores personalizados. O que você precisa é do arquivo ggroupadd.pp
que deseja inserir /etc/puppet/modules/custom/lib/puppet/provider/group
(ajuste adequadamente para refletir a localização do diretório de módulos personalizados).
O novo provedor ggroupadd gerenciará grupos para que tudo o que você colocar no atributo member /etc/group
também entre no arquivo.
Responder3
Parece que os mantenedores dos fantoches nunca forneceram suporte para isso. Estou analisando a funcionalidade groupadd nas bibliotecas Ruby e parece ser uma combinação de código desleixado e/ou código incompleto.