Como adiciono permissões sudo a um usuário criado com Ansible?

Como adiciono permissões sudo a um usuário criado com Ansible?

Qual é a maneira mais limpa de fazer isso? Tentei adicionar o usuário ao grupo sudo com o módulo de usuários, mas o Ansible relata que não consegue encontrar o grupo sudo.

Responder1

Em vez de

- name: create a new user
    user: name=user
          state=present
          groups="group1, group2"
          password={{ password }}
          comment="Comment"

Eu fiz

- name: create a new user
    user: name=user
          state=present
          group=primary-group
          groups="sudo"
          password={{ password }}
          comment="Comment"

E o usuário foi adicionado ao grupo sudo.

Responder2

- name: Create Deploy user
  user: name={{ deploy }} comment="Deploy User" groups="sudo,admin,{{ deploy }}"
  sudo: yes

Tenha cuidado com os espaços na sua lista de grupos... Você receberá a mensagem "grupo não existe" se os tiver.

Responder3

groups="admin" criará usuários adicionados em grupos de administradores

Responder4

Para fazer isso da maneira tradicional do Linux usando ansible :)

Crie um arquivo create_user.ymle adicione o seguinte código.
Mude <username>o nome de usuário que você deseja adicionar ao grupo sudo

- name: "run command"
  become: true
  gather_facts: no
  hosts: all
  tasks:
    - name: add user to sudo group
      shell: usermod -aG sudo <username>
      args:
        executable: /bin/bash

Agora execute este manual user_create.yml com o comando

ansible-playbook -K <filename>.yml

informação relacionada