Cómo Eliminar Cuentas de Usuario y sus Directorios de Inicio en Linux

Como Administrador de Sistemas en Linux, es posible que tenga que eliminar la cuenta de un usuario después de algún tiempo cuando una cuenta de usuario pueda estar inactiva durante tanto tiempo, o el usuario puede abandonar la organización o empresa por cualquier otro motivo.

Al eliminar cuentas de usuario en un sistema Linux, también es importante eliminar su directorio personal para liberar espacio en los dispositivos de almacenamiento para nuevos usuarios del sistema u otros servicios.

En este tutorial, voy a guiarte a través de los pasos que puedes usar para eliminar la cuenta de un usuario junto con su directorio personal en un sistema Linux.

Para aprender cómo crear cuentas de usuario y administrarlas en sistemas Linux, lee los siguientes artículos desde los enlaces a continuación:

Cómo Eliminar/Quitar una Cuenta de Usuario con Directorio Personal

Para fines demostrativos, primero comenzaré creando dos cuentas de usuario en mi sistema que son el usuario tecmint y el usuario linuxsay con sus directorios de inicio /home/tecmint y /home/linusay respectivamente usando el comando adduser.

adduser tecmint
passwd tecmint

adduser linuxsay
passwd linuxsay
Create New User Accounts in Linux

Desde la captura de pantalla anterior, he utilizado el comando adduser para crear cuentas de usuario en Linux. También puede usar el comando useradd, ambos son iguales pero la principal diferencia entre estos comandos radica en su uso previsto y la interfaz de usuario.

El comando ” adduser” es una interfaz de nivel superior para agregar usuarios a un sistema, realiza cualquier configuración necesaria y crea un directorio de inicio para el usuario utilizando configuraciones predeterminadas.

Por otro lado, ” useradd” es una utilidad de nivel inferior para agregar usuarios a un sistema y actualizar la información del usuario. No crea el directorio de inicio del usuario de forma predeterminada y requiere que el administrador especifique opciones adicionales manualmente.

Pasemos ahora a ver cómo eliminar o eliminar cuentas de usuario en Linux usando deluser (Para Debian y sus derivados) y userdel (Para sistemas basados en RedHat) comandos.

sudo deluser --remove-home username
sudo userdel -r username

El comando anterior eliminará el directorio de inicio del usuario junto con su cuenta.

Las directivas dentro del archivo de configuración para los comandos deluser y userdel determinan cómo manejará todos los archivos y directorios de usuario cuando ejecute el comando.

Veamos el archivo de configuración para el comando deluser, que es /etc/deluser.conf en derivados de Debian como Ubuntu, Kali y Mint, y para usuarios de RHEL/CentOS/Fedora, pueden ver los archivos /etc/login.defs.

Los valores en estas configuraciones son predeterminados y pueden ser cambiados según sus necesidades.

vi /etc/deluser.conf         [On Debian and its derivatives]
vi /etc/login.defs           [On RedHat/CentOS based systems]
Del User Configuration

Para eliminar a un usuario con un directorio personal, puede utilizar la forma avanzada siguiendo estos pasos en su máquina de servidor Linux. Cuando los usuarios están conectados al servidor, utilizan servicios y ejecutan diferentes procesos. Es importante tener en cuenta que los usuarios solo pueden ser eliminados de manera efectiva cuando no estén conectados al servidor.

Cómo Bloquear Cuentas de Usuario en Linux

Para bloquear una cuenta de usuario en Linux, puede usar el comando passwd seguido de la opción -l o --lock y el nombre de usuario. Bloquear una cuenta de usuario impide que el usuario inicie sesión mientras todavía retiene la cuenta y sus archivos asociados.

sudo passwd -l username
OR
sudo passwd -lock username
Lock User Account Password in Linux

Para desbloquear la cuenta, puede usar nuevamente el comando passwd con la opción -u.

sudo passwd -u username

Cómo Encontrar y Matar Procesos de Usuario en Ejecución en Linux

Puedes encontrar y eliminar procesos en ejecución de usuarios en Linux utilizando el comando ps para encontrar los procesos asociados con un usuario específico y el comando kill para terminarlos.

Encontrar Procesos de Usuario

Usa el comando ps con la bandera -u seguida del nombre de usuario para listar los procesos para un usuario específico.

ps -u username

Luego, puedes listar los procesos en términos de nombre de usuario, PIDs, PPIDs (Identificadores de Proceso Padre), terminal utilizada, estado del proceso y ruta del comando en un estilo de formato completo con la ayuda del siguiente comando como se muestra:

ps -f --pid $(pgrep -u tecmint)
Find All Running Processes of the User

Eliminar Procesos de Usuario

Una vez que encuentres todos los procesos en ejecución de un usuario, puedes usar el comando killall para eliminar esos procesos en ejecución como se muestra.

killall -9 -u tecmint

El -9 es el número de señal para la SIGKILL señal o usa -KILL en lugar de -9 y -u define el nombre de usuario.

Nota: En las últimas versiones de RedHat/CentOS 7.x y Fedora 21+, recibirás un mensaje de error:

-bash: killall: command not found

Para solucionar ese error, necesitas instalar el paquete psmisc como se muestra:

yum install psmisc       [On RedHat/CentOS 7.x]
dnf install psmisc       [On Fedora 21+ versions]

Cómo Realizar Copias de Seguridad de Datos de Usuario Antes de Eliminar

Para respaldar los datos de un usuario antes de eliminar una cuenta de usuario en un sistema Linux, puede seguir estos comandos.

sudo mkdir /backup
sudo cp -r /home/username /backup

Opcionalmente, puede crear un archivo comprimido de los datos del usuario para conservar espacio de almacenamiento. He utilizado el comando tar para crear un respaldo del directorio personal del usuario de la siguiente manera:

sudo tar -zcvf /backup/username_backup.tar.gz /backup/username
Backup User Home Directory in Linux

Cómo Eliminar/Quitar Archivos de Usuario en Linux

Ahora puede eliminar de forma segura al usuario junto con su directorio personal, para eliminar todos los archivos de usuario en el sistema use la opción --remove-all-files en el comando a continuación:

deluser --remove-home tecmint      [On Debian and its derivatives]
userdel --remove tecmint           [On RedHat/CentOS based systems]
Delete User Account with Home Directory
Resumen

Eso es todo lo que hay que hacer para eliminar al usuario y su directorio personal de un sistema Linux. Creo que la guía es lo suficientemente fácil de seguir, pero puede expresar una preocupación o agregar más ideas dejando un comentario.

Source:
https://www.tecmint.com/delete-remove-a-user-account-with-home-directory-in-linux/