Primero grep todo el proceso del usuario de 'prueba' y elimine -9 todos los pid y luego elimine al usuario.
pgrep -u test
ps -fp $(pgrep -u test)
killall -KILL -u test
userdel -r test
passwd -l <user>
no detiene todos los medios posibles para iniciar sesión. Por ejemplo, si inician sesión usando ssh
con claves públicas aún pueden iniciar sesión ya que no necesitarán una contraseña.
Para evitar que el usuario vuelva a iniciar sesión, edite el /etc/passwd
archivo y elimine el usuario o cambie la séptima columna a /sbin/nologin
.
Ejecutar:
ps -u <user>
para ver qué proceso sigue usando el usuario y matarlos a todos. Puede que tenga que utilizar:
kill -s 9 <pid>
para forzar la detención del proceso.
passwd -l <user>
no deshabilita la cuenta. Como dijo Gareth, es posible que el usuario aún pueda iniciar sesión con otro token de autenticación, como la clave SSH. Para deshabilitar esta cuenta, debe usar usermod --expiredate 1
esto establece la fecha de caducidad de la cuenta en 1970. Ahora debe eliminar todos los procesos que inicia el usuario. Ejecutando:
$pgrep -u Foo
imprimirá todos los procesos que inicia el usuario Foo.ejecutando:
$kill -9 <pid>
enviará SIGKILL
señal que mata ese proceso. Ejecutar ahora:
$pgrep -u Foo | xargs kill -9
esto obtendrá todos los ID de proceso del usuario Foo y los eliminará a todos.
O:
$kill -9 -u Foo