Cómo eliminar un usuario en Linux (y eliminar todos los rastros)

Eliminar un usuario en Linux implica más de lo que crees. Si es administrador del sistema, le recomendamos que elimine todos los rastros de la cuenta y su acceso de sus sistemas. Te mostraremos los pasos a seguir.

Si simplemente desea eliminar una cuenta de usuario de su sistema y no le preocupa finalizar ningún proceso en ejecución ni otras tareas de limpieza, siga los pasos de la sección "Eliminar cuenta de usuario" a continuación. Necesitará deluser comando en distribuciones basadas en Debian y en userdel comando en otras distribuciones de Linux.

→ Índice de contenidos

Cuentas de usuario en Linux

Desde que aparecieron los primeros sistemas de tiempo compartido a principios de la década de 1960 y trajeron consigo la posibilidad de que varios usuarios trabajaran en una sola computadora, surgió la necesidad de aislar y compartimentar los archivos y datos de cada usuario de todos los demás usuarios. Y así nacieron las cuentas de usuario y las contraseñas.

Las cuentas de usuario tienen gastos administrativos. Deben crearse cuando el usuario inicia sesión por primera vez en la computadora. Debe eliminarlos cuando ya no sea necesario el acceso. En Linux, existe una secuencia de pasos que debe seguir para eliminar de manera adecuada y metódica al usuario, sus archivos y su cuenta de la computadora.

Si eres el administrador del sistema, esta responsabilidad recae en ti. Aquí se explica cómo proceder.

¿Por qué eliminar una cuenta?

Hay varias razones por las que es posible que deba eliminar una cuenta. Un miembro del personal podría pasar a un equipo diferente o abandonar la empresa por completo. Es posible que su cuenta haya sido configurada para una colaboración a corto plazo con un visitante de otra empresa. Los equipos son comunes en el mundo académico, donde los proyectos de investigación pueden involucrar a departamentos, múltiples universidades e incluso entidades comerciales. Una vez finalizado el proyecto, el administrador del sistema debe realizar operaciones de limpieza y eliminar cuentas innecesarias.

El peor de los casos es cuando alguien se marcha bajo una nube debido a un delito menor. Estos acontecimientos suelen ocurrir de repente, sin previo aviso. Esto deja al administrador del sistema con muy poco tiempo para planificar y la urgencia de bloquear, cerrar y eliminar la cuenta, con una copia de seguridad de los archivos del usuario en caso de que sean necesarios para algún análisis forense posterior al cierre.

En nuestro escenario, simularemos que un usuario, Eric, ha hecho algo que justifica su eliminación inmediata de la oficina. En este momento no es consciente de ello, sigue trabajando y está conectado. Tan pronto como usted le dé una señal a seguridad, lo escoltarán fuera del edificio.

Está todo listo. Todos los ojos están puestos en ti.

Controlar el acceso

Veamos si realmente ha iniciado sesión y, en caso afirmativo, con cuántas sesiones está trabajando. EL who el comando enumerará las sesiones activas.

who

Eric inició sesión una vez. Veamos qué procesos está ejecutando.

Revisión de procesos de usuario.

Podemos usar el ps comando para enumerar los procesos que ejecuta este usuario. EL -u La opción (usuario) nos permite decir que ps para limitar su salida a procesos que se ejecutan bajo la propiedad de esa cuenta de usuario.

ps -u eric

ps -u eric en una ventana de terminal

Podemos ver los mismos procesos con más información usando el archivo top dominio. top también tiene un -U Opción (usuario) para limitar la salida a procesos propiedad de un solo usuario. Tenga en cuenta que esta vez es una "U" mayúscula.

top -U eric

top -U eric en una ventana de terminal

Podemos ver el uso de memoria y CPU de cada tarea y buscar rápidamente cualquier cosa con actividad sospechosa. Estamos a punto de detener por la fuerza todos sus procesos, por lo que es más seguro tomarse un momento para revisar rápidamente los procesos y verificar y asegurarse de que otros usuarios no sufran inconvenientes cuando cierre su cuenta de usuario. ericlos procesos.

Salida desde top -U eric en una ventana de terminal

No parece que esté haciendo mucho, solo usando less para ver un archivo. Podemos proceder con calma. Pero antes de interrumpir sus procesos congelaremos la cuenta bloqueando la contraseña.

Bloqueo de cuenta

Bloquearemos la cuenta antes de detener los procesos porque cuando detengamos los procesos se cerrará la sesión del usuario. Si ya hemos cambiado su contraseña, no podrá volver a iniciar sesión.

Las contraseñas de usuario cifradas se almacenan en el archivo /etc/shadow archivo. Normalmente no te molestarías en seguir los siguientes pasos, pero para que puedas ver lo que sucede en el archivo /etc/shadow archivo cuando bloquee su cuenta tomaremos un ligero desvío. Podemos usar el siguiente comando para examinar los dos primeros campos de la entrada para el eric cuentas de usuario.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow en una ventana de terminal

El comando awk analiza campos de archivos de texto y, opcionalmente, los manipula. Estamos usando el -F (separador de campo) opción para decirlo awk que el archivo usa dos puntos" : " para separar los campos. Buscaremos una fila con el patrón "eric". Para las filas coincidentes, imprimiremos el primer y segundo campo. Estos son el nombre de la cuenta y la contraseña cifrada.

La entrada de la cuenta de usuario de eric se imprime para nosotros.

Para bloquear la cuenta utilizamos el archivo passwd dominio. Usaremos el -l (Bloquear) y pasar el nombre de la cuenta de usuario a bloquear.

sudo passwd -l eric

sudo passwd -l eric en una ventana de terminal

Si comprobamos el /etc/passwd archivo de nuevo, veremos qué pasó.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow en una ventana de terminal

Se ha agregado un signo de exclamación al comienzo de la contraseña cifrada. No sobrescribe el primer carácter, simplemente se agrega al principio de la contraseña. Eso es todo lo que se necesita para evitar que un usuario acceda a esa cuenta.

Ahora que hemos impedido que el usuario vuelva a iniciar sesión, podemos finalizar sus procesos y cerrar su sesión.

Matar procesos

Hay varias formas de finalizar los procesos de un usuario, pero el comando que se muestra aquí está ampliamente disponible y es una implementación más moderna que algunas alternativas. EL pkill el comando encontrará y eliminará los procesos. Estamos transmitiendo la señal KILL y usando el archivo. -u opción (usuario).

sudo pkill -KILL -u eric

sudo pkill -KILL -u eric en una ventana de terminal

Regresarás al símbolo del sistema de una manera decididamente anticlimática. Para asegurarnos de que algo sucedió, verifiquemos who Aún:

who

quien en una ventana de terminal

Tu sesión ha terminado. Se ha desconectado y se han detenido sus procesos. Esto alivió parte de la urgencia de la situación. Ahora podemos relajarnos un poco y continuar con el resto de la limpieza mientras seguridad se acerca al escritorio de Eric.

Relacionado: Cómo agregar y eliminar usuarios en Ubuntu

Archivar el directorio de inicio del usuario

No se excluye que en un escenario como este, el acceso a los archivos del usuario sea necesario en el futuro. Ya sea como parte de una investigación o simplemente porque su reemplazo puede necesitar referirse al trabajo de su antecesor. Usaremos el tar comando para archivar todo el directorio de inicio.

Las opciones que estamos usando son:

  • C: cree un archivo de almacenamiento.
  • F: utiliza el nombre de archivo especificado para el nombre del archivo comprimido.
  • j: Utilice compresión bzip2.
  • v: proporciona resultados detallados durante la creación del archivo.
sudo tar cfjv eric-20200820.tar.bz /home/eric

sudo tar cfjv eric-20200820.tar.bz /home/eric en una ventana de terminal

La mayor parte de la salida de la pantalla fluirá hacia la ventana del terminal. Para verificar que el archivo ha sido creado, use el ls dominio. Estamos usando el -l (formato largo) e -h (legibles por humanos) opciones.

ls -lh eric-20200802.tar.bz

sudo tar cfjv eric-20200820.tar.bz /home/eric en una ventana de terminal

Se creó un archivo de 722 MB. Esto se puede copiar a un lugar seguro para su posterior revisión.

Eliminando trabajos cronológicos

Será mejor que comprobemos si hay alguno. cron trabajos programados para la cuenta de usuario eric. A cron job es un comando que se activa en momentos o intervalos específicos. Podemos comprobar si hay alguno. cron trabajos programados para esta cuenta de usuario usando ls:

sudo ls -lh /var/spool/cron/crontabs/eric

sudo ls -lh /var/spool/cron/crontabs/eric en una ventana de terminal

Si algo existe en esta posición significa que existe. cron trabajos en cola para esa cuenta de usuario. Podemos eliminarlos con esto. crontab dominio. EL -r La opción (eliminar) eliminará los trabajos y el archivo. -u La opción (usuario) dice crontab cuyas obras eliminar.

sudo crontab -r -u eric

sudo crontab -r -u eric en una ventana de terminal

Los trabajos se eliminan silenciosamente. Por lo que sabemos, si Eric hubiera sospechado que estaba a punto de ser desalojado, podría haber programado un trabajo malicioso. Este paso es la mejor práctica.

Eliminar trabajos de impresión

¿Quizás el usuario tenía trabajos de impresión pendientes? Para estar seguros, podemos eliminar todos los trabajos que pertenecen a la cuenta de usuario de la cola de impresión. eric. EL lprm El comando elimina trabajos de la cola de impresión. EL -U La opción (nombre de usuario) le permite eliminar trabajos propiedad de la cuenta de usuario denominada:

lprm -U eric

lprm -U eric en una ventana de terminal

Los trabajos se eliminan y regresa a la línea de comando.

Eliminar su cuenta de usuario

Ya hemos hecho una copia de seguridad de los archivos de /home/eric/ directorio, entonces podemos continuar y eliminar la cuenta de usuario y eliminar el archivo /home/eric/ directorios al mismo tiempo.

El comando a utilizar depende de la distribución de Linux que esté utilizando. Para distribuciones de Linux basadas en Debian, el comando es delusery para el resto del mundo Linux es userdel.

De hecho, ambos comandos están disponibles en Ubuntu. Casi esperaba que uno fuera el alias del otro, pero son binarios distintos.

type deluser
type userdel

escribe deluser en una ventana de terminal

Aunque ambos están disponibles, el consejo es utilizarlos. deluser sobre distribuciones derivadas de Debian:

"userdel es una utilidad de bajo nivel para eliminar usuarios. En Debian, los administradores normalmente deberían utilizar deluser(8) en su lugar."

Está bastante claro, por lo que el comando a usar en esta computadora Ubuntu es deluser. Como queremos que también se elimine su directorio de inicio, estamos usando el archivo --remove-home bandera:

sudo deluser --remove-home eric

sudo deluser --remove-home eric en una ventana de terminal

El comando a utilizar para distribuciones que no son Debian es userdelcon el --remove bandera:

sudo userdel --remove eric

Todos los rastros de la cuenta de usuario. eric Han sido eliminados. Podemos comprobar que el /home/eric/el directorio ha sido eliminado:

ls /home

ls /home en una ventana de terminal

EL eric el grupo también fue eliminado porque la cuenta de usuario eric Era la única voz en él. Podemos verificar esto con bastante facilidad transmitiendo el contenido de /etc/group A través de grep:

sudo less /etc/group | grep eric

sudo menos /etc/group |  grep eric en una ventana de terminal

Es una envoltura

Eric, por sus pecados, se ha ido. Seguridad todavía lo está escoltando fuera del edificio y usted ya aseguró y archivó sus archivos, eliminó su cuenta y limpió el sistema de cualquier residuo.

La precisión siempre supera a la velocidad. Asegúrese de considerar cada paso antes de realizarlo. No querrás que alguien se acerque a tu escritorio y diga: "No, el otro Eric".

Subir Change privacy settings