GROG.user

Usuario

Ansible Galaxy Estado de Construcción Última etiqueta Chat en Gitter

Un rol para gestionar usuarios.

Los siguientes roles fueron diseñados para trabajar juntos con este rol:

  • authorized-key, para gestionar claves autorizadas.
  • sudo, para gestionar derechos de sudo.

El rol management-user combina todos estos roles en uno fácil de usar.

Requisitos

  • Los hosts deben estar preparados para el uso de ansible (tener python,...)
  • Privilegios de root, es decir, become: yes
  • useradd, userdel y usermod deben estar disponibles en el host

Variables del Rol

Variable Descripción Valor por defecto
user_list Lista de usuarios (ver detalles!) []
user_list_host Lista de usuarios (ver detalles!) []
user_list_group Lista de usuarios (ver detalles!) []
user_append Valor por defecto para append no
user_createhome Valor por defecto para createhome
user_force Valor por defecto para force no
user_generate_ssh_key Valor por defecto para generate_ssh_key no
user_move_home Valor por defecto para move_home no
user_none_unique Valor por defecto para none_unique no
user_remove Valor por defecto para remove no
user_shell Valor por defecto para shell '/bin/sh'
user_ssh_key_bits Valor por defecto para ssh_key_bits 4096
user_ssh_key_file Valor por defecto para ssh_key_file '.ssh/id_rsa'
user_system Valor por defecto para system no
user_update_password Valor por defecto para update_password siempre

Detalles de user_list

user_list, user_list_host y user_list_group se combinan al gestionar los usuarios. Puedes usar las listas de host y grupo para especificar usuarios por host o grupo de hosts.

La lista de usuarios te permite definir qué usuarios deben ser gestionados. Cada ítem en la lista puede tener los siguientes atributos:

Variable Descripción Requerido Por defecto
append ¿Solo añadir a grupos? no user_append
comment Descripción del usuario (también conocido como GECOS) no /
createhome ¿Crear directorio de inicio? no user_createhome
expires Fecha de expiración no /
force Usar opción --force al eliminar un usuario no user_force
generate_ssh_key ¿Generar clave ssh? no user_generate_ssh_key
group Grupo principal del usuario no /
groups Lista de grupos para el usuario no /
home Directorio de inicio para el usuario no /
login_class Clase de inicio de sesión para sistemas BSD no /
move_home Mover directorio de inicio no user_move_home
name Nombre del usuario /
non_unique ¿Permitir uid no único? no user_none_unique
password Contraseña para el usuario no /
remove Usar opción --remove al eliminar un usuario no user_remove
shell Shell del usuario no user_shell
ssh_key_bits Tamaño de la clave SSH no user_ssh_key_bits
ssh_key_comment Comentario de la clave SSH no /
ssh_key_file Archivo de clave SSH no user_ssh_key_file
ssh_key_passphrase Frase de paso de la clave SSH no /
ssh_key_type Tipo de clave SSH no rsa
state Estado del usuario no 'presente'
system ¿Cuenta de sistema? no user_system
uid Identificación del usuario no /
update_password ¿Actualizar contraseña si cambia? no user_update_password
Ejemplo de user_list
user_list:
  - name: usuario1
  - name: usuario2
    uid: 1001
    groups:
      - prueba
      - sudo
  - name: usuario3
    uid: 1002
    state: ausente

Dependencias

Ninguna.

Ejemplo de Playbook

---
- hosts: servidores
  roles:
  - { role: GROG.user, become: yes }

Dentro de group_vars/servidores.yml:

user_list_group:
  - name: usuario
    uid: 1001
  - name: prueba
    state: ausente

Contribuyendo

¡Toda ayuda, cambios o ideas bienvenidos!

Autor

Por G. Roggemans

Licencia

MIT

Acerca del proyecto

A role for managing users.

Instalar
ansible-galaxy install GROG.user
Licencia
mit
Descargas
251.6k
Propietario
Open Source Science and Technology