Cómo eliminar cuentas de usuario con el directorio de inicio en Linux

En este tutorial, voy a seguir los pasos que puede utilizar para eliminar la cuenta de un usuario junto con su directorio de inicio en un sistema Linux.

Eliminar cuentas de usuario con el directorio de inicio en LinuxEliminar cuentas de usuario con el directorio de inicio en Linux

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

  1. 15 ejemplos de comandos “useradd” para administrar cuentas de usuario en Linux
  2. 15 ejemplos de comandos “usermod” para cambiar / modificar los nombres de las cuentas de usuario en Linux
  3. Cómo administrar usuarios y grupos con permisos de archivo en Linux

Como administrador del sistema en Linux, es posible que deba eliminar la cuenta de usuario en algún momento después de que una cuenta de usuario quede inactiva durante tanto tiempo, o que el usuario abandone la organización o empresa o por cualquier otro motivo.

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

Eliminar / eliminar una cuenta de usuario con su directorio de inicio

1. Para fines de demostración, 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

Crear nuevas cuentas de usuario en LinuxCrear nuevas cuentas de usuario en Linux

De la captura de pantalla anterior, he usado el comando adduser para crear cuentas de usuario en Linux. También puede usar el comando useradd , ambos son iguales y hacen el mismo trabajo.

2. Ahora vayamos más allá para ver cómo eliminar o eliminar cuentas de usuario en Linux usando el comando deluser (para Debian y sus derivados) y userdel (para sistemas basados ​​en RedHat / CentOS).

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

Echemos un vistazo al archivo de configuración del comando deluser que se encuentra /etc/deluser.confen derivados de Debian como Ubuntu, Kali, Mint y para los usuarios de RHEL / CentOS / Fedora, puede ver los /etc/login.defsarchivos.

Los valores de esta configuración son predeterminados y se pueden cambiar según sus necesidades.

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

3. Para eliminar un usuario con directorio de inicio, puede utilizar la forma avanzada siguiendo estos pasos en su máquina servidor Linux. Cuando los usuarios inician sesión en el servidor, utilizan servicios y ejecutan diferentes procesos. Es importante tener en cuenta que el usuario solo se puede eliminar de manera efectiva cuando no está conectado al servidor.

Bloquear cuentas de usuario en Linux

Comience bloqueando la contraseña de la cuenta de usuario para que el usuario no tenga acceso al sistema. Esto evitará que un usuario ejecute procesos en el sistema.

El comando passwd que incluye la opción –lock puede ayudarlo a lograr esto:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Bloquear la contraseña de la cuenta de usuario en LinuxBloquear la contraseña de la cuenta de usuario en Linux

Buscar y eliminar todos los procesos en ejecución del usuario

A continuación, averigüe todos los procesos en ejecución de la cuenta de usuario y elimínelos determinando los PID ( ID de proceso ) de los procesos propiedad del usuario mediante:

# pgrep -u tecmint

1947
1959
2091
2094
2095
2168
2175
2179
2183
2188
2190
2202
2207
2212
2214

Luego, puede enumerar los procesos en términos de nombre de usuario, PID, PPID (ID de proceso principal), terminal utilizado, estado del proceso, ruta de comando en un estilo de formato completo con la ayuda del siguiente comando como se muestra:

# ps -f --pid $(pgrep -u tecmint)

UID        PID  PPID  C STIME TTY      STAT   TIME CMD
tecmint   1947     1  0 10:49 ?        SLl    0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
tecmint   1959  1280  0 10:49 ?        Ssl    0:00 mate-session
tecmint   2091  1959  0 10:49 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint   2094     1  0 10:49 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint   2095     1  0 10:49 ?        Ss     0:00 //bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session
tecmint   2168     1  0 10:49 ?        Sl     0:00 /usr/lib/dconf/dconf-service
tecmint   2175  1959  0 10:49 ?        Sl     0:02 /usr/bin/mate-settings-daemon
tecmint   2179  1959  0 10:49 ?        Sl     0:47 marco
tecmint   2183     1  0 10:49 ?        Sl     0:00 /usr/lib/gvfs/gvfsd
tecmint   2188  1959  0 10:49 ?        Sl     0:00 mate-panel
tecmint   2190     1  0 10:49 ?        Sl     0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
tecmint   2202     1  0 10:49 ?        S<l    0:20 /usr/bin/pulseaudio --start --log-target=syslog
tecmint   2207  1959  0 10:49 ?        S      0:00 /bin/sh /usr/bin/startcaja
tecmint   2212     1  0 10:49 ?        Sl     0:03 /usr/bin/python /usr/lib/linuxmint/mintMenu/mintMenu.py
tecmint   2214     1  0 10:49 ?        Sl     0:11 /usr/lib/mate-panel/wnck-applet
....

Buscar todos los procesos en ejecución del usuarioBuscar todos los procesos en ejecución del usuario

Una vez que encuentre todos los procesos en ejecución del usuario, puede 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 señal SIGKILL o use -KILL en lugar de -9 y -u define el nombre de usuario.

Nota : En las versiones recientes de RedHat / CentOS 7.xy Fedora 21+, recibirá un mensaje de error como:

-bash: killall: command not found

Para corregir dicho error, debe instalar el paquete psmisc como se muestra:

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

Copia de seguridad de los datos del usuario antes de eliminarlos

A continuación, puede hacer una copia de seguridad de los archivos de los usuarios, esto puede ser opcional, pero se recomienda para uso futuro cuando surja la necesidad de revisar los detalles y los archivos de la cuenta del usuario.

He utilizado las utilidades tar para crear una copia de seguridad del directorio de inicio de los usuarios de la siguiente manera:

# tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint

Copia de seguridad del directorio de inicio de usuario en LinuxCopia de seguridad del directorio de inicio de usuario en Linux

Eliminar / Eliminar cuentas de usuario y archivos

Ahora puede eliminar de forma segura al usuario junto con su directorio de inicio, para eliminar todos los archivos de usuario en el sistema, use la --remove-all-filesopción en el siguiente comando:

# deluser --remove-home tecmint      [On Debian and its derivatives]
# userdel --remove tecmint           [On RedHat/CentOS based systems]

Eliminar cuenta de usuario con el directorio de inicioEliminar cuenta de usuario con el directorio de inicio

Resumen

Todo eso tiene que ver con eliminar el usuario y su directorio de inicio de un sistema Linux. Creo que la guía es bastante fácil de seguir, pero puede expresar una inquietud o agregar más ideas dejando un comentario.

Comandos de Linux

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux