Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Linux User Manager

Gestión interactiva de usuarios para cualquier distribución Linux — el script que todo sysadmin termina escribiendo, pero hecho bien y de una vez.

Bash puro, cero dependencias (solo useradd/usermod/passwd, presentes en toda distro). Funciona en Debian/Ubuntu, RHEL/Rocky/Alma, Arch, openSUSE y Alpine.

Qué hace

╔════════════════════════════════════════╗
║     GESTIÓN DE USUARIOS — Linux        ║
╚════════════════════════════════════════╝
 1) Listar usuarios (con grupos)
 2) Ver grupos de un usuario
 3) Crear usuario (con directorios, sudo, SSH)
 4) Ver qué usuarios tienen clave SSH
 5) Asociar clave SSH a un usuario
 6) Agregar / quitar de grupos
 7) Bloquear / desbloquear cuenta
 8) Eliminar usuario
 9) Ver registro de auditoría

Detalles que lo diferencian del script típico

Detalle Qué hace bien
Detección de distro Lee /etc/os-release y ajusta: sudo en Debian, wheel en RHEL/SUSE
SSH sin riesgo Valida el formato de la clave, evita duplicados comparando el cuerpo, y aplica permisos correctos (700/.ssh, 600/authorized_keys) — el error #1 que deja SSH sin funcionar
Fingerprint visible Al listar claves muestra el fingerprint de cada una (auditable a simple vista)
Directorios al alta Crea proyectos/, scripts/, .config/ en el home con ownership correcto (configurable en SKEL_EXTRA_DIRS)
Password expirada al crear El usuario nuevo debe cambiar su contraseña en el primer login (passwd -e)
Auditoría Toda acción queda en /var/log/user-manager.log con fecha y quién la ejecutó
Anti-desastres Confirmación por nombre al eliminar, no permite quitar el grupo principal, valida nombres de usuario

Uso

sudo ./user-manager.sh

Personalización

Al inicio del script:

DEFAULT_GROUPS="sudo"                              # grupo extra por defecto
SKEL_EXTRA_DIRS=("proyectos" "scripts" ".config")  # directorios al crear usuario
LOG_FILE="/var/log/user-manager.log"               # dónde auditar

Casos de uso reales

  • Onboarding en empresas: alta de usuario con sus directorios, su clave SSH y su acceso sudo en 1 minuto, sin olvidar ningún paso
  • Auditorías de seguridad: "¿qué usuarios tienen SSH sin clave?" (opción 4) — usuarios con solo password en un servidor expuesto son un hallazgo
  • Servidores de clientes: corre en cualquier distro, no necesita instalar nada

Licencia

MIT

About

Gestión interactiva de usuarios en cualquier distro Linux: alta con directorios, claves SSH, grupos, auditoría. Bash puro, sin dependencias.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages