#!/bin/bash
set -u
#Comprobamos que se le pasa un parámetro al script (el nombre de usuario a expulsar)
if [ $# -eq 1 ]; then
uid=`id -u $1 2> /dev/null`
#Si el usuario existe en el sistema
if [ -n $uid ]; then
if [ $1 != "root" ]; then
pkill -KILL -U $uid
sed -i "s/$1/#$1/g" /etc/passwd
echo "Usuario $1 expulsado del sistema y bloqueado"
else
#Si intentamos expulsar al root
echo "¿Seguro que quieres abandonar el sistema? (s/n)"
read salir
if [ $salir = "s" ] || [ $salir = "S" ]; then
#Expulsamos el usuario root
pkill -KILL -U $uid
sed -i "s/$1/#$1/q" /etc/passwd
else
#Terminamos el programa
exit 0
fi
fi
fi
fi
Para reactivar al usuario sólo es necesario que el usuario root ejecute el comando
ResponderEliminarsed -i "s/#usuario/usuario/g"
Un método alternativo de invalidar la cuenta de usuario sería con el siguiente comando:
ResponderEliminarusermod --expiredate 1
con lo que se establece la fecha de caducidad de la cuenta a 1 enero de 1970