#!/bin/bash

DEFAULT_USUARIO="usuario"

# Confirmar el usuario
read -p "Confirma el usuario a reestablecer [${DEFAULT_USUARIO}]: " USUARIO
USUARIO=${USUARIO:-$DEFAULT_USUARIO}  # Si pulsa Enter, se usa el default

HOME_DIR="/home/$USUARIO"
BACKUP_DIR="/home/${USUARIO}_backup_$(date +%Y%m%d_%H%M%S)"

echo "===== REESTABLECER USUARIO $USUARIO ====="

# Verificar que el usuario existe
if ! id "$USUARIO" &>/dev/null; then
    echo "El usuario $USUARIO no existe."
    exit 1
fi

# Verificar si el usuario está logueado
# Verificar si el usuario está logueado
if who | grep -q "^$USUARIO "; then
    echo "El usuario '$USUARIO' está actualmente logueado."
    echo "No se puede reestablecer su home mientras está activo."
    echo "Ejecuta este script de una de las siguientes formas:"
    echo "1) Desde otro usuario con permisos sudo."
    echo "2) Desde una terminal TTY (Ctrl+Alt+F3)."
    echo "3) Desde modo recuperación o LiveCD."
    exit 1
fi

read -p "¿Deseas hacer un backup antes de continuar? (s/n): " RESP

if [[ "$RESP" == "s" ]]; then
    echo "Creando backup en $BACKUP_DIR ..."
    sudo cp -a "$HOME_DIR" "$BACKUP_DIR"
fi

echo "Borrando contenido del home..."
sudo find "$HOME_DIR" -mindepth 1 -delete

echo "Restaurando archivos por defecto..."
sudo cp -a /etc/skel/. "$HOME_DIR"

echo "Corrigiendo permisos..."
sudo chown -R "$USUARIO:$USUARIO" "$HOME_DIR"

echo "Usuario $USUARIO reestablecido correctamente."

# Actualizar sistema
sudo apt update && sudo apt -y dist-upgrade && sudo apt -y autoremove

# Apagar si se pasa argumento "off"
if [[ "$1" == "off" ]]; then
    sudo shutdown -h now
fi


