En este artículo, veremos como eliminar usuarios en Linux utilizando la línea de comando (CLI) con los comandos userdel y deluser.
- Introducción (Volver al índice General)
En este artículo, veremos como eliminar usuarios en Linux desde la línea de comando (CLI). Para hacerlo, utilizaremos las siguientes herramientas:
- userdel (Volver al índice General)
Es un programa del sistema.userdelmodifica los archivos de cuentas de usuario del sistema, eliminando todas las entradas que hacen referencia al nombre de cuenta que vamos a eliminar. La cuenta de usuario deberá existir para poder eliminarla. - deluser (Volver al índice General)
Es un script en Perl que utiliza los programas del sistemauserdelygroupdel.deluserelimina cuentas de usuario y grupo del sistema de acuerdo a las opciones pasadas en la línea de comandos (CLI) y, a la configuración establecida en los ficheros/etc/deluser.confy/etc/adduser.conf. Proporciona una interfaz más sencilla para los programasuserdelygroupdel. Permite eliminar, opcionalmente, el directorio de inicio o incluso todos los ficheros del sistema pertenecientes al usuario, ejecutar un script personalizado y otras características. - Artículos relacionados (Volver al índice General)
En ZeppelinuX hemos publicado los siguientes artículos que pueden que te interesen:
- userdel (Volver al índice General)
- Eliminar usuarios en Linux con userdel (Volver al índice General)
Veamos todas las opciones que tiene este comando:- -f, – -force : Esta opción fuerza la eliminación de la cuenta de usuario incluso si el usuario todavía está conectado. También obliga a
userdela eliminar el directorio de inicio del usuario y la cola de correo, incluso si otro usuario usa el mismo directorio de inicio o si la cola de correo no es propiedad del usuario especificado. Si USERGROUPS_ENAB se define como sí en/etc/login.defsy si existe un grupo con el mismo nombre que el usuario eliminado, este grupo se eliminará, incluso si sigue siendo el grupo principal de otro usuario.
Nota: Esta opción es peligrosa ya que puede dejar a nuestro sistema en un estado de inconsistencia. - -h, – -help : Muestra unas instrucciones cortas.
- -r, – -remove : Los archivos del directorio de inicio del usuario se eliminarán junto con el directorio de inicio y la cola de correo del usuario. Los archivos ubicados en otros sistemas de archivos deberán buscarse y eliminarse manualmente. La cola de correo está definida por la variable MAIL_DIR en el archivo
login.defs. - -Z, – -selinux-user : Elimina al usuario de SELinux asignado al inicio de sesión del usuario de la asignación de inicio de sesión de SELinux.
Para ver todas las opciones, puedes usar el comando de ayuda man userdel.
A continuación veremos los usos más comunes del comando
userdel.
- Eliminar un usuario (Volver al índice General)
El siguiente comando elimina al usuariomortadelodel sistema pero no borra ni su directorio de inicio/home/mortadeloni su cola de correo. Además, los archivos ubicados en otros sistemas de archivos deberán buscarse y eliminarse manualmente.$ sudo userdel mortadelo
- Eliminar un usuario y sus datos (Volver al índice General)
En el siguiente comando utilizaremos la opción -r. Eliminará al usuariofilemondel sistema, borrará el directorio de inicio del usuario/home/filemony la cola de correo del usuario. Los archivos ubicados en otros sistemas de archivos deberán buscarse y eliminarse manualmente.$ sudo userdel -r filemon
- -f, – -force : Esta opción fuerza la eliminación de la cuenta de usuario incluso si el usuario todavía está conectado. También obliga a
- Eliminar usuarios en Linux con deluser (Volver al índice General)
Veamos todas las opciones que tiene este comando:- – -conf FICHERO : Usa FICHERO en lugar de los ficheros predeterminados
/etc/deluser.confy/etc/adduser.conf. - – -group : Elimina un grupo.
- – -system : Sólo elimina si el usuario o grupo es un usuario o grupo de sistema. Esto evita borrar accidentalmente usuarios o grupos que no sean de sistema. Además, si el usuario no existe, no se devuelve ningún valor de error. Esta opción está diseñada para su uso en los scripts de desarrollador de paquetes de Debian.
- – -backup : Crea una copia de respaldo de todos los ficheros contenidos en el directorio de inicio del usuario y el fichero de cola de correo a un fichero llamado
./$USER.tar.bz2o./$USER.tar.gz. - – -backup-to DIRECTORIO : No ubica las copias de respaldo en el directorio raíz (/), sino en el directorio definido por el parámetro DIRECTORIO.
- – -remove-home : Elimina el directorio de inicio del usuario y su cola de correo. Si se define – -backup, los ficheros se eliminarán después de realizar la copia de respaldo.
- – -remove-all-files : Elimina todos los ficheros del sistema propiedad de este usuario. En este caso, – -remove-home ya no tiene efecto. Si se define – -backup, se eliminarán los ficheros después de realizar la copia de respaldo.
- – -quiet : Suprime mensajes indicadores de progreso.
- – -help : Muestra instrucciones cortas.
- – -version : Muestra la versión e información acerca del copyright.
Para ver todas las opciones, puedes usar el comando de ayuda man deluser.
- Eliminar un usuario (Volver al índice General)
El siguiente comando elimina al usuarioanacletodel sistema pero no borra ni su directorio de inicio/home/mortadeloni su cola de correo. Además, los archivos ubicados en otros sistemas de archivos deberán buscarse y eliminarse manualmente.$ sudo deluser anacleto
- Eliminar un usuario y sus datos (Volver al índice General)
En este punto veremos dos formas de eliminar una cuenta de usuario y sus datos.- En el siguiente comando utilizaremos la opción – -remove-home. Eliminará al usuario
carpantadel sistema, borrará el directorio de inicio del usuario/home/carpantay la cola de correo del usuario. Los archivos ubicados en otros sistemas de archivos deberán buscarse y eliminarse manualmente.$ sudo deluser --remove-home carpanta
Si se define la opción – -backup, los ficheros se eliminarán después de realizar la copia de respaldo en
./carpanta.tar.bz2, salvo que se especifique otra ruta con la opción – -backup-to DIRECTORIO.Nota: Observese el punto delante de / en la ubiccación del archivo de respaldo
./carpanta.tar.bz2. El punto indica que se guardará en el directorio de trabajo desde donde se ejecutó el comando.$ sudo deluser --remove-home --backup carpanta
- En el siguiente comando utilizaremos la opción – -remove-all-files. Elimina todos los ficheros del sistema propiedad de
carpanta. En este caso, – -remove-home ya no tiene efecto.$ sudo deluser --remove-all-files carpanta
Si se define la opción – -backup, los ficheros se eliminarán después de realizar la copia de respaldo en
./carpanta.tar.bz2, salvo que se especifique otra ruta con la opción – -backup-to DIRECTORIO.Nota: Observese el punto delante de / en la ubiccación del archivo de respaldo
./carpanta.tar.bz2. El punto indica que se guardará en el directorio de trabajo desde donde se ejecutó el comando.$ sudo deluser --remove-all-files --backup carpanta
- En el siguiente comando utilizaremos la opción – -remove-home. Eliminará al usuario
- Eliminar un usuario de sistema (Volver al índice General)
En el siguiente comando utilizaremos la opción – -system. Eliminará al usuariosysuser, que se creó como usuario de sistema y su directorio de inicio:$ sudo deluser --system --remove-home sysuser
- – -conf FICHERO : Usa FICHERO en lugar de los ficheros predeterminados






Luis Quesada
Señor , Excelente articulo, fue de mucha ayuda, gracias
J. Carlos
Gracias a usted por visitar ZeppelinuX.
Juan
Si quisiera eliminar varias cuentas de correo al mismo tiempo a través de SSH, como podría hacerlo?
J. Carlos
Hola Juan,
Si cuando te refieres a eliminar varias cuentas de correo al mismo tiempo te refieres a varias cuentas de usuario, si se puede hacer, pero utilizando un script. A continuación te indico una forma sencilla de hacerlo:
nanoen mi ejemplo, crea un archivo y le das el nombre que quieras, yo lo llamaréborrar_usuarios.sh:Para ejecutarlo con SSH, imagino que desde otra máquina distinta a la que alberga las cuentas de usuario a borrar, pueden plantearse distintos escenarios. Te muestro el más fácil:
Si el script está en la máquina que alberga las cuentas de usuario, la orden a ejecutar será del tipo:
En nuestro caso:
La opción -t es para poder interactuar con el script.
Espero que te haya servido de ayuda, un saludo y gracias por visitar ZeppelinuX
Daniel alcantara
Hola es muy buena la app
J. Carlos
Gracias Daniel por tu comentario y por visitar ZeppelinuX.
PD: Perdón por la tardanza. Mucho trabajo y responsabilidades han conseguido que no contestase a vuestros comentarios.