#!/bin/bash
# desc: elimina los usuarios del sistema que estén con la cuenta Locked, expirada o bloqueada
# lastact: arturo@2025-09-02

[[ "${1}" ]] && \
LISTA_USUARIOS_GRAFICOS=( "${@}" ) || \
LISTA_USUARIOS_GRAFICOS=( $(awk -F: '($3 >= 1000) {print $1}' "/etc/passwd") )

for USU_GRAFICO in "${LISTA_USUARIOS_GRAFICOS[@]}" ; do
    getent passwd "${USU_GRAFICO}" > /dev/null 2>&1 || continue
    [[ "${USU_GRAFICO}" == "nobody" ]] && continue
    [[ $(passwd -S "${USU_GRAFICO}" | cut -d" " -f2) == "L" ]] && \
    echo "#> Eliminando usuario expirado: ${USU_GRAFICO}" && \
    sudo userdel -r "${USU_GRAFICO}" > /dev/null 2>&1  # -r borra el home y mail spool
done