Módulo Puppet para gerenciar grupos que não funciona

Módulo Puppet para gerenciar grupos que não funciona

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.ppque 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/grouptambé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.

informação relacionada