En este tutorial, le mostraré los pasos que puede seguir para eliminar la cuenta de un usuario junto con su directorio de inicio en un sistema Linux.
Para aprender a crear cuentas de usuario y administrarlas en sistemas Linux, lea los siguientes artículos de los enlaces a continuación:
- 15 ejemplos de comandos "useradd" para administrar cuentas de usuario en Linux
- 15 ejemplos de comandos "usermod" para cambiar/modificar nombres de cuentas de usuario en Linux
- Cómo administrar usuarios y grupos con permisos de archivos en Linux
Como administrador del sistema en Linux, es posible que deba eliminar la cuenta de los usuarios después de un tiempo cuando una cuenta de usuario puede permanecer inactiva durante tanto tiempo, o el usuario puede abandonar la organización o la empresa o por cualquier otra razón.
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.
Eliminación/eliminación de una cuenta de usuario con su directorio de inicio
# adduser tecmint # passwd tecmint # adduser linuxsay # passwd linuxsay
De la captura de pantalla anterior, he usado adduser comando para crear cuentas de usuario en Linux. También puede usar useradd comando, ambos son iguales y hacen el mismo trabajo.
Las directivas dentro del archivo de configuración para deluser y del usuario Los comandos determinan cómo manejará todos los archivos y directorios del usuario cuando ejecute el comando.
Veamos el archivo de configuración para deluser comando que es /etc/deluser.conf
en derivados de Debian como Ubuntu, Kali, Mint y para usuarios de RHEL/CentOS/Fedora, puede ver el /etc/login.defs
archivos.
Los valores en 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]
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.
La contraseña comando que incluye el –lock opción puede ayudarlo a lograr esto:
# passwd --lock tecmint Locking password for user tecmint. passwd: Success
Buscar y eliminar todos los procesos en ejecución del usuario
A continuación, descubra todos los procesos en ejecución de la cuenta de usuario y elimínelos determinando los PID (ID de proceso ) de procesos propiedad del usuario utilizando:
# 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 primario), terminal utilizada, 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 ....
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 el SIGKILL señal o uso -KILL en lugar de -9 y -u define el nombre de usuario.
Nota :En versiones recientes de RedHat/CentOS 7.x y 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]
Hacer una 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 archivos y los detalles de la cuenta del usuario.
He usado 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
Eliminar/eliminar cuenta 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 --remove-all-files
opción en el siguiente comando:
# deluser --remove-home tecmint [On Debian and its derivatives] # userdel --remove tecmint [On RedHat/CentOS based systems]
Resumen
Eso tiene que ver con la eliminación del 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.