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

Contenidos

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

Si solo desea borrar una cuenta de usuario de su sistema y no le preocupa finalizar ningún procedimiento 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 comando en distribuciones sustentadas en Debian y el userdel comando en otras distribuciones de Linux.

Cuentas de usuario en Linux

Desde el Los primeros sistemas de tiempo compartido aparecieron a principios de la década de 1960. y trajo consigo la capacidad para que varios usuarios trabajen en una sola computadora, ha existido la necesidad de aislar y compartimentar los archivos y datos de cada usuario de todos los demás usuarios. Y las cuentas de usuario …y contraseñas-nació.

Las cuentas de usuario disponen una sobrecarga administrativa. Deben crearse cuando el usuario necesita tener acceso por primera vez a la computadora. Deben eliminarse cuando ese acceso ya no sea necesario. En Linux, hay una secuencia de pasos que se deben seguir para borrar correcta y metódicamente al usuario, sus archivos y su cuenta de la computadora.

Si es el administrador del sistema, esa responsabilidad recae en usted. He aquí cómo hacerlo.

Nuestro escenario

Hay varios motivos por las que es factible que deba eliminarse una cuenta. Un miembro del personal puede mudarse a un equipo distinto o dejar la compañía por completo. Es factible que la cuenta se haya configurado para una colaboración a corto plazo con un visitante de otra compañía. Los equipos de trabajo son comunes en la academia, donde los proyectos de investigación pueden abarcar departamentos, diferentes universidades e inclusive entidades comerciales. Al finalizar el proyecto, el administrador del sistema debe realizar la limpieza y borrar las cuentas innecesarias.

El peor de los casos es cuando alguien se va bajo una nube debido a un delito menor. Tales eventos suelen ocurrir de repente, con poca advertencia previa. Eso le da al administrador del sistema muy poco tiempo para planificar y una urgencia para bloquear, cerrar y borrar la cuenta, con una copia de los archivos del usuario respaldados en caso de que sean necesarios para cualquier análisis forense posterior al cierre.

En nuestro escenario, pretendemos que un usuario, Eric, ha hecho algo que justifica su eliminación inmediata de las instalaciones. En este momento él no se da cuenta de esto, aún está trabajando y ha iniciado sesión. Tan pronto como le dé el visto bueno a seguridad, lo escoltarán fuera del edificio.

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

Compruebe el inicio de sesión

Veamos si verdaderamente ha iniciado sesión y, si lo está, con cuántas sesiones está trabajando. los who mando enumerará las sesiones activas.

who

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

Revisión de los procesos del usuario

Podemos utilizar el ps comando para enumerar los procesos que este usuario está ejecutando. los -u La opción (usuario) nos posibilita decir ps para 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 mando. top además tiene un -U (usuario) opción para restringir la salida a los 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 memoria y CPU de cada tarea, y podemos buscar rápidamente cualquier cosa con actividad sospechosa. Estamos a punto de matar a 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 sufrirán inconvenientes cuando cancele la cuenta de usuario. ericProcesos de.

No parece que esté haciendo mucho, solo está usando less para ver un archivo. Estamos a salvo para continuar. Pero antes de matar sus procesos, congelaremos la cuenta bloqueando la contraseña.

RELACIONADO: Cómo utilizar el comando ps para monitorear procesos de Linux

Bloquear la cuenta

Bloquearemos la cuenta antes de matar los procesos debido a que cuando matamos los procesos cerrará la sesión del usuario. Si ya cambiamos su contraseña, no podrá volver a iniciar sesión.

Las contraseñas de usuario cifradas se almacenan en el /etc/shadow expediente. Regularmente no se molestaría con estos pasos siguientes, pero para que pueda ver lo que sucede en el /etc/shadow archivo cuando bloquee la cuenta, tomaremos un pequeño desvío. Podemos utilizar 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 de archivos de texto y opcionalmente los manipula. Estamos usando el -F (separador de campo) opción para decir awk que el archivo utiliza dos puntos » : ”Para separar los campos. Vamos a buscar una línea con el patrón “eric”. Para las líneas coincidentes, imprimiremos el primer y segundo campo. Estos son el nombre de la cuenta y la contraseña cifrada.

La entrada para la cuenta de usuario eric está impresa para nosotros.

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

sudo passwd -l eric

Si comprobamos el /etc/passwd archivo de nuevo, veremos qué ha sucedido.

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 inicio de la contraseña. Eso es todo lo que se necesita para evitar que un usuario pueda iniciar sesión en esa cuenta.

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

Matar los procesos

Existen diferentes alternativas para 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 comando encontrará y matará procesos. Pasamos la señal KILL y usamos el -u opción (usuario).

sudo pkill -KILL -u eric

Volverá al símbolo del sistema de una manera decididamente anticlimática. Para asegurarnos de que sucedió algo, revisemos who de nuevo:

who

Su sesión se ha ido. Se ha desconectado y sus procesos se han detenido. Eso le quitó algo de urgencia a la situación. Ahora podemos relajarnos un poco y continuar con el resto de la limpieza mientras el personal de seguridad se acerca al escritorio de Eric.

RELACIONADO: Cómo matar procesos desde la terminal de Linux

Archivar el directorio de inicio del usuario

No está descartado 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 debido a que su reemplazo puede necesitar referirse al trabajo de su predecesor. Usaremos el tar mando para archivar todo su directorio de inicio.

Las alternativas que estamos usando son:

  • C: Crea un archivo de almacenamiento.
  • F: Use el nombre de archivo especificado para el nombre del archivo.
  • j: Utilice la compresión bzip2.
  • v: Proporciona una salida detallada a medida que se crea el archivo.
sudo tar cfjv eric-20200820.tar.bz /home/eric

Una gran cantidad de salida de pantalla se desplazará en la ventana del terminal. Para chequear que se ha creado el archivo, utilice el ls mando. Estamos usando 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.

Quitar trabajos cron

Será mejor que verifiquemos en caso de que haya alguna cron trabajos programados para la cuenta de usuario eric. A cron trabajo es un comando que se activa en momentos o intervalos específicos. Podemos chequear si hay cron trabajos programados para esta cuenta de usuario usando ls:

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

Si existe algo en esta ubicación, significa que hay cron trabajos en cola para esa cuenta de usuario. Podemos eliminarlos con esto. crontab mando. los -r (borrar) eliminará los trabajos y la -u la opción (usuario) dice crontab cuyos trabajos eliminar.

sudo crontab -r -u eric

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.

Eliminación de trabajos de impresión

¿Tal vez el usuario tenía trabajos de impresión pendientes? Solo para estar seguros, podemos purgar la cola de impresión de cualquier trabajo que pertenezca a la cuenta de usuario. eric. los lprm mando elimina trabajos de la cola de impresión. los -U La opción (nombre de usuario) le posibilita borrar trabajos que pertenecen a la cuenta de usuario nombrada:

lprm -U eric

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

Quitar la cuenta de usuario

Ya hicimos una copia de seguridad de los archivos del /home/eric/ directorio, para que podamos continuar y borrar la cuenta de usuario y borrar el /home/eric/ directorio al mismo tiempo.

El comando a utilizar depende de la distribución de Linux que esté usando. Para Distribuciones de Linux basadas en Debian, el comando es deluser, y para el resto del mundo Linux, está userdel.

En realidad, en Ubuntu ambos comandos están disponibles. Casi esperaba que uno fuera un alias del otro, pero son binarios distintos.

type deluser
type userdel

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

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

Eso es lo suficientemente claro, por lo que el comando para utilizar en esta computadora con Ubuntu es deluser. Debido a que además queremos que se elimine su directorio de inicio, estamos usando el --remove-home bandera:

sudo deluser --remove-home eric

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

sudo userdel --remove eric

Todos los rastros de la cuenta de usuario eric han sido borrados. Podemos chequear que el /home/eric/El directorio ha sido eliminado:

ls /home

los eric grupo además se ha eliminado debido a que la cuenta de usuario eric fue la única entrada en él. Podemos chequear esto con bastante facilidad canalizando el contenido de /etc/group a través de grep:

sudo less /etc/group | grep eric

Es una envoltura

Eric, por sus pecados, se ha ido. La seguridad aún lo está sacando del edificio y ya ha protegido y archivado sus archivos, ha eliminado su cuenta y ha purgado el sistema de cualquier resto.

La precisión siempre triunfa 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».

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.