Solución:
Solución 1:
Si {{ user }}
ya existe en el sistema, debe usar lo siguiente para agregarlo a un grupo:
- name: adding existing user '{{ user }}' to group sudo
user:
name: '{{ user }}'
groups: sudo
append: yes
Para agregarlo a un conjunto de grupos, puede usar una lista separada por comas, por ejemplo groups: admin,sudo
.
Solo ten cuidado de que si omites append: yes
, su usuario será eliminado de todos los demás grupos, de acuerdo con la página de manual de usermod. Eso sería útil si desea utilizar una lista específica de grupos a los que debe pertenecer un usuario.
Solucion 2:
Según el módulo de usuario, puede utilizar esto:
- name: Adding user {{ user }}
user: name={{ user }}
group={{ user }}
shell=/bin/bash
password=${password}
groups=sudo
append=yes
Puedes simplemente agregar el groups=groupname
y append=yes
para agregarlos a un usuario existente cuando los está creando
Solución 3:
Tenga en cuenta que {{ user }}
fue cambiado a {{ ansible_user }}
en versiones recientes de Ansible (https://github.com/ansible/ansible/blob/c600ab81ee/lib/ansible/playbook/play_context.py#L46-L55). Alternativamente, también puede usar ansible_ssh_user
– es lo mismo. Entonces, el código actualizado de Teresa e Junior se ve así:
- name: adding existing user "{{ ansible_user }}" to group sudo
user:
name: "{{ ansible_user }}"
groups: sudo
append: yes
become: yes
Más arreglos:
- Use comillas dobles para que la variable se expanda
- Agregar
become: yes
ya que necesita privilegios administrativos para cambiar el archivo de grupos