Bash – Sencillo script para cerrar sesiones de usuarios en Linux

En algunos entornos laborales  se tienen aplicaciones corriendo sobre Linux, es necesario que los usuarios se conecten via ssh o telnet a el servidor, por lo que una de las tareas de los administradores es eliminar las sesiones activas basándose en ciertos criterios, como tiempo de inactividad , tiempo de conexión simultanea, cuando ya excedieron las conexiones permitidas, etc.

bash

Al encontrarme con esta tarea decide realizar un sencillo script  en bash para ir entrando en la materia. Básicamente lo que hace:

  • Define una lista de usuarios que nunca deben detenerse en cuyo caso está root, y algún otro que corra procesos críticos.
  • Genera un archivo temporal con la lista de  los usuarios conectados. de los cuales no se interrumpe un proceso o servicio si los cancelamos.
  • Cuando ingresamos el PID a eliminar , confirma que éste no pertenezca a uno de los usuarios que jamas deben detenerse
  • Confirma que el PID no pertenezca a un servicio.

en el código del script viene detallado el proceso.

¿Como funciona?

Imaginemos: en nuestra terminal usaremos who con el  siguiente filtro who -u|sort -rnk 5,5 |grep -v root|grep -v usuario1|grep -v usuario3  buscamos todos los usuarios conectados posibles a eliminar, excepto root, usuario1 y usuario3. 1. procedemos a ejecutar el script, en el ejemplo daremos de baja al usuario2 con el PID 18402.

Podemos hacer nuestro script ejecutable de la siguiente forma: chmod +x prueba2.sh  Posteriormente ejecutarlo: ./prueba.sh o simplemente correr bash /ubicacion/prueba.sh

ejecucion

En este ejemplo trataremos por error de dar de baja el usuario root con pid 2789 y posteriormente otro pid que muy probablemente no existe o pertenece a un servicio y no a una sesión de usuario normal.

ejecucion2

Como ven es algo sencillo, pero muy útil sobre todo cuando no se tiene solo 2 o 3 usuarios conectados , por el contrario cuando se tienen mas de 100 o 200 usuarios. Por ultimo es muy importante recordar que los usuarios que definimos en la variable lista, también deben ser incluidos en el filtro del paso 2

recordatorio

Link de descarga

Anuncios

One response to “Bash – Sencillo script para cerrar sesiones de usuarios en Linux

Agradezco tu opinión

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s