📜 Changelog — users.sh

Este documento registra los cambios realizados en el módulo users.sh, utilizado para gestionar usuarios del sistema: creación, modificación y eliminación.

This document records changes made to the users.sh module, used to manage system users: creation, modification, and removal.


🇪🇸 Historial de versiones

🧩 v1.3.0 — [2025-09-25]

  • Parámetros opcionales con valores por defecto:
    • shell: /bin/bash
    • home: /home/<username>
    • groups: vacío
  • Simplificación del playbook: ya no es necesario definir shell, home ni groups si se usan los valores por defecto
  • Validación defensiva de grupos:
    • Si se especifica groups y no existe, se crea automáticamente con groupadd
    • Si el grupo coincide con el nombre de usuario, se omite -G para evitar errores
  • Trazas claras para creación de grupo (🔧)
  • Mejora de robustez en la construcción del comando useradd
  • Dependencias actualizadas: se incluye groupadd en la validación

🧩 v1.2.0 — [2025-09-25]

  • Renombrado del argumento name a username para evitar conflictos con metadatos YAML
  • Validación de privilegios: requiere become=true o ejecución como root
  • Parámetros configurables:
    • username, state, shell, home, groups, become
  • Separación clara de lógica por estado (case)
  • Trazas expresivas con emojis (, ⚠️, )
  • Eliminación del chequeo de comandos root (useradd, usermod, userdel) en dependencias
  • Estructura defensiva con declare -A args y validación de argumentos

🧩 v1.0.0 — [2025-09-20]

  • Creación inicial del módulo users.sh
  • Soporte básico para create, modify, absent
  • Parámetros: name, shell, groups, home, state, become
  • Dependencias: id, useradd, usermod, userdel, sudo
  • Ejecución local con trazas mínimas