AsavarTzeth.users
Rol de Usuarios de Ansible - ansible-role-users
Rol de Ansible utilizado para gestionar usuarios, grupos, claves ssh autorizadas y sudo.
El formato de configuración de este rol está inspirado en gran medida por el formato utilizado con cloud-init/cloud config. El objetivo es usar la misma o similar estructura yaml siempre que sea posible, pero posiblemente extenderla donde tenga sentido.
Algunas pequeñas diferencias notables:
- Cualquier carácter de guion se tuvo que reemplazar por un guion bajo; debido a cómo ansible interpreta los nombres de las variables.
Para más información sobre cloud-init, consulta la documentación de cloud-init en:
https://cloudinit.readthedocs.io/en/latest/index.html
Requisitos
Este rol fue desarrollado y probado en Ansible 2.2.0 y versiones superiores. Puede funcionar en versiones inferiores, pero eso no está soportado en este momento.
Variables del Rol
Lista de variables y valores predeterminados:
# La shell predeterminada del usuario, utilizada al crear un usuario.
users_default_shell: /bin/bash
# Define si el rol debe crear un grupo primario si no existe.
# Para evitar que el rol falle, esto se establece en verdadero por defecto.
# Desactiva esto si los grupos son gestionados en otro lugar.
users_create_primary_group: true
# Habilita la gestión de la escalación de privilegios usando sudo.
# Desactiva esto si no se utilizará sudo, o si se gestiona en otro lugar.
users_enable_sudo: true
# El único parámetro obligatorio es el nombre.
users:
- name: '' # El nombre de usuario.
gecos: '' # El campo de comentario, también conocido y utilizado para el nombre real del usuario.
homedir: '' # El directorio personal del usuario.
primary_group: '' # El grupo principal del usuario.
groups: [] # Una lista de grupos complementarios para el usuario.
no_create_home: false # Si es verdadero, no crear un directorio personal. Por defecto es verdadero si `system: true`.
shell: "{{ users_default_shell }}" # La shell predeterminada del usuario.
passwd: '' # Una contraseña hasheada y salada en SHA512.
ssh_authorized_keys: [] # Una lista de claves públicas ssh para agregar al archivo authorized_keys.
sudo: '' # La cadena de sudo que se usará para configurar sudo.
system: false # Si es verdadero, el usuario será un usuario del sistema. Esto no afecta a los usuarios existentes.
Dependencias
Ninguna
Ejemplo de Playbook
Agregar o modificar un usuario y configurar sudo y claves ssh autorizadas:
- hosts: all
roles:
- role: AsavarTzeth.users
users_default_shell: /bin/bash
users_create_primary_group: true
users_enable_sudo: true
users:
- name: foobar1
gecos: Foo B. Bar
primary_group: foobar1
groups: ['users','wheel']
shell: /bin/bash
ssh_authorized_keys:
- "ssh-rsa AAAAA.... foo@host"
- "ssh-rsa AAAAB.... bar@host"
sudo: ALL=(ALL) ALL
Agregar o modificar un usuario del sistema:
- hosts: all
roles:
- role: AsavarTzeth.users
users:
- name: foobar2
gecos: Cuenta de Servicio FooBar
homedir: /
primary_group: foobar
shell: /sbin/nologin
system: true
Eliminar usuarios:
- hosts: all
roles:
- role: AsavarTzeth.users
users_deleted:
- name: foobar1
- name: foobar2
Modificar la contraseña de un usuario:
- hosts: all
roles:
- role: AsavarTzeth.users
users:
- name: foobar1
passwd: $6$mI3A2y4O.YfqhlPt$szsWfnICXsYLbsIghLauJG.I3enLYGDPBYO1DYTHn9gB6y3Q2faM7iqievJlU5ZMTT9X3wHrUv0c7HWkToGBp/
Licencia
BSD-2-Clause
Información del Autor
Patrik Nilsson
ansible-galaxy install AsavarTzeth.users