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

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

Fatmawati Achmad Zaenuri / Shutterstock

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

Si solo desea eliminar una cuenta de usuario de su sistema y no desea finalizar los procesos en ejecución y otras tareas de limpieza, siga los pasos de la sección «Eliminación de la cuenta de usuario» a continuación. Necesitarás el deluser en distribuciones basadas en Debian y userdel comando en otras distribuciones de Linux.

Cuentas de usuario de Linux

Desde el los primeros sistemas de tiempo compartido aparecieron a principios de la década de 1960 y trajo consigo la capacidad de que varios usuarios trabajaran en una sola computadora, era necesario aislar y compartimentar los archivos y datos de cada usuario de todos los demás usuarios. Y entonces las cuentas de usuarioy contraseñas-nació.

Las cuentas de usuario tienen gastos administrativos. Deben crearse cuando el usuario necesite acceder a la computadora por primera vez. Deben eliminarse cuando este acceso ya no sea necesario. En Linux, hay una secuencia de pasos a seguir para eliminar de manera adecuada y metódica al usuario, sus archivos y su cuenta de la computadora.

Si es el administrador del sistema, esta es su responsabilidad. He aquí cómo hacerlo.

Nuestro escenario

Hay varias razones por las que es posible que deba eliminarse una cuenta. Un miembro del personal puede ser transferido a otro equipo o dejar la empresa por completo. Es posible que la cuenta se haya creado para una colaboración a corto plazo con un visitante de otra empresa. Los equipos son comunes en las universidades, donde los proyectos de investigación pueden abarcar departamentos, diferentes universidades e incluso entidades comerciales. Al final del proyecto, el administrador del sistema debe limpiar y eliminar las cuentas innecesarias.

El peor de los casos es cuando alguien pasa por debajo de una nube debido a un delito. Estos eventos suelen ocurrir de repente, con poca advertencia previa. Esto le da al administrador del sistema muy poco tiempo para planificar y existe una necesidad urgente de bloquear, cerrar y eliminar la cuenta, con una copia de los archivos del usuario respaldados en caso de que sean necesarios para cualquier análisis posterior al cierre.

En nuestro escenario, afirmaremos que un usuario, Eric, hizo algo que justifica su desalojo inmediato de las instalaciones. Ahora mismo no se da cuenta, todavía está trabajando y está conectado. Tan pronto como le dé luz verde a seguridad, lo escoltarán fuera del edificio.

Todo está en orden. Todos los ojos están puestos en ti.

Comprobar la conexión

Veamos si está realmente conectado y, si lo está, con cuántas sesiones está trabajando. los who pedido enumerará las sesiones activas.

who

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

Revisión de los procesos de los usuarios

Podemos usar el ps Ordenar a enumerar los procesos que está ejecutando este usuario. los -u La opción (usuario) nos permite decir ps restringir su salida a los procesos que se ejecutan bajo la propiedad de esa cuenta de usuario.

ps -u eric

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

top -U eric

Podemos ver el uso de la CPU y la memoria de cada tarea y buscar rápidamente cualquier cosa que tenga actividad sospechosa. Estamos a punto de eliminar 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 asegurarnos de que otros usuarios no se sientan incómodos cuando cancele la cuenta de usuario. ericproceso de.

Parece que no hace mucho, solo usa less para ver un archivo. Podemos continuar con seguridad. Pero antes de matar sus procesos, congelaremos la cuenta bloqueando la contraseña.

Bloqueo de cuenta

Bloqueamos la cuenta antes de matar los procesos, porque cuando matamos los procesos, el usuario se desconectará. Si ya hemos cambiado su contraseña, no podrá volver a conectarse.

Las contraseñas de usuario cifradas se almacenan en el /etc/shadow archivar. Normalmente no se molestaría con estos pasos siguientes, pero para que pueda ver lo que está sucediendo en el /etc/shadow archivo cuando bloquee la cuenta, tomaremos un pequeño desvío. Podemos usar el siguiente comando para mirar los dos primeros campos de la entrada para el eric cuenta de usuario.

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

El comando awk analiza campos en archivos de texto y posiblemente los manipule. Usamos el -F (separador de campo) opción para decir awk que el archivo usa dos puntos » : ”Separar los campos. Vamos a buscar una línea que contenga el patrón «eric». Para las líneas correspondientes, imprimiremos el primer y segundo campo. Este es el nombre de la cuenta y la contraseña cifrada.

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

Para bloquear la cuenta usamos el passwd pedido. Usaremos el -l (bloqueo) opción y pasar el nombre de la cuenta de usuario a bloquear.

sudo passwd -l eric

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

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

Se ha añadido un signo de exclamación al principio de la contraseña cifrada. No sobrescribe el primer carácter, solo se agrega al principio de la contraseña. Esto es todo lo que se necesita para evitar que un usuario inicie sesión en esa cuenta.

Ahora que hemos evitado que el usuario vuelva a iniciar sesión, podemos matar sus procesos y cerrar la sesión.

Matar procesos

Hay diferentes formas de matar 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 de las alternativas. los pkill El comando encontrará y matará los procesos. Transmitimos la señal KILL y usamos el -u opción (usuario).

sudo pkill -KILL -u eric

Regresará al símbolo del sistema de una manera decididamente anti-climática. Para estar seguro de que algo ha sucedido, revisemos who de nuevo:

who

Su sesión ha terminado. Se ha cerrado la sesión y se han terminado sus procesos. Le quitó algo de urgencia a la situación. Ahora podemos relajarnos un poco y continuar con el resto de la limpieza mientras los de seguridad se acercan a la oficina de Eric.

Archivar el directorio de inicio del usuario

No se excluye que en un escenario como este, se requerirá acceso a los archivos del usuario en el futuro. Ya sea como parte de una investigación o simplemente porque su reemplazo puede necesitar hacer referencia al trabajo de su predecesor. Usaremos el tar pedido para archivar todo su directorio personal.

Las opciones que usamos son:

  • vs: Crea un archivo de almacenamiento.
  • F: Utilice el nombre de archivo especificado para el nombre del archivo.
  • j: utiliza compresión bzip2.
  • v: proporciona una salida detallada al crear el archivo.
sudo tar cfjv eric-20200820.tar.bz /home/eric

Gran parte de la salida de la pantalla se desplazará a través de la ventana del terminal. Para verificar que se ha creado el archivo, utilice el ls pedido. Usamos el -l (formato largo) y -h opciones (legibles por humanos).

ls -lh eric-20200802.tar.bz

Se ha creado un archivo de 722 MB. Esto se puede copiar en un lugar seguro para su posterior revisión.

Eliminar trabajos cron

Será mejor que comprobemos si hay alguno cron tareas programadas para la cuenta de usuario eric. A cron trabajo es un comando que se activa en momentos o intervalos especificados. Podemos comprobar si hay cron tareas programadas para esta cuenta de usuario usando ls:

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

Si algo existe ahí, significa que hay cron trabajos en cola para esta cuenta de usuario. Podemos eliminarlos con esto crontab pedido. los -r (eliminar) la opción eliminará los trabajos y el -u La opción (usuario) dice crontab incluidos los trabajos que se eliminarán.

sudo crontab -r -u eric

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

Eliminar trabajos de impresión

¿Es posible que el usuario tenga trabajos de impresión pendientes? Solo para estar seguros, podemos purgar la cola de impresión de todos los trabajos que pertenecen a la cuenta de usuario. eric. los lprm pedido elimina trabajos de la cola de impresión. los -U La opción (nombre de usuario) le permite eliminar tareas pertenecientes a la cuenta de usuario nombrada:

lprm -U eric

Los trabajos se eliminan y vuelve a la línea de comandos.

Eliminar cuenta de usuario

Ya hemos hecho una copia de seguridad de los archivos de /home/eric/ directorio, para que podamos continuar y eliminar la cuenta de usuario y eliminar el /home/eric/ directorio 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 deluser, y para el resto del mundo Linux, el es userdel.

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

type deluser
type userdel

Aunque ambos están disponibles, la recomendación es utilizar deluser sobre distribuciones derivadas de Debian:

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

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

sudo deluser --remove-home eric

El comando a usar para distribuciones que no son Debian es userdel, con el --remove bandera:

sudo userdel --remove eric

Todos los rastros de cuentas de usuario eric han sido borrados. Podemos verificar que el /home/eric/el directorio ha sido eliminado:

ls /home

los eric El grupo también se eliminó porque la cuenta de usuario eric fue la única entrada en él. Podemos verificar esto con bastante facilidad canalizando los contenidos de /etc/group mediante grep:

sudo less /etc/group | grep eric

Es una envoltura

Eric, por sus pecados, se ha ido. La seguridad siempre lo echa del edificio, y usted ya ha protegido y archivado sus archivos, ha eliminado su cuenta y ha purgado el sistema de cualquier residuo.

La precisión siempre prevalece sobre la velocidad. Asegúrese de considerar cada paso antes de darlo. No querrás que alguien se acerque a tu escritorio y diga «No, el otro Eric».

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas