Adicionando um usuário a um grupo adicional usando ansible

55

Como posso adicionar um usuário a grupos extras no ansible? Não quero que o conjunto de grupos existente seja substituído, apenas adicione o usuário ao sudogrupo.

vdboor
fonte

Respostas:

48

De acordo com o módulo Usuário, você pode usar isto:

- name: Adding user {{ user }}  
  user: name={{ user }}
        group={{ user }}
        shell=/bin/bash
        password=${password}
        groups=sudo
        append=yes

Você pode adicionar groups=groupnamee append=yesadicionar a um usuário existente ao criá-lo

art3mis
fonte
2
Obrigado, append=yesé realmente o que estou procurando!
vdboor
11
Parece haver um problema com isso: e se o usuário já existir e eu apenas quiser adicioná-lo ou removê-lo de um grupo? Não tenho 100% de certeza, mas acho que o atributo "group" é considerado apenas ao criar o usuário.
Jlecour #
2
Eu realmente tenho um problema com esta sendo a resposta aceita, pois a pergunta não indica "crie um usuário e adicione-o a um grupo específico". Se viemos de uma pesquisa no Google por causa do título da pergunta, provavelmente desejamos adicionar um usuário existente a um grupo.
Daniel F
72

Se {{ user }}já existe no sistema, você deve usar o seguinte para adicioná-lo a um grupo:

- name: adding existing user '{{ user }}' to group sudo
  user:
    name: '{{ user }}'
    groups: sudo
    append: yes

Para adicioná-lo a um conjunto de grupos, você pode usar uma lista separada por vírgulas, por exemplo groups: admin,sudo.

Apenas tome cuidado, se você omitir append: yes, seu usuário será removido de todos os outros grupos, de acordo com a página de manual usermod . Isso seria útil se você deseja usar uma lista específica de grupos aos quais um usuário deve pertencer.

Teresa e Junior
fonte
12
… E tenha cuidado para não escrever group:sem o s, pois isso alterará o GID principal.
Serge Stroobandt
... e lembre-se de que, se o usuário não existir, ele será criado!
EM0 24/01
@ EM0 Sim, o usermódulo deve criar usuários se eles não existirem, no entanto, o usuário deve revisar seu código se estiver tentando modificar usuários que nem deveriam existir.
Teresa e Junior