viernes, 15 de noviembre de 2013

Segundo: Establecer sesiones de uso de duración fija (De PuTTy y otras adicciones)

Dado que es un servicio principalmente didáctico, no creemos necesario (e incluso lo vemos contraproducente) que los clientes tengan sesiones ilimitadas. Querremos limitar a, digamos, períodos de 30 minutos por usuario el servicio.
Lamentablemente, la interfaz de VNC Server no es de lo mejor para controlar este tipo de cosas, por lo que trabajararemos en el términal de Mac OSX para hacerlo.
Obviamente, no podemos dejar por ahi una ventana con código para que acceda cualquier cliente que use la computadora, por lo que este control lo realizaremos de manera remota.

Para esto utilizaremos PuTTy.

Este es un cliente SSH (Secure SHell) y nos permitirá conectarnos al Shell de la Mac (Bash) de manera remota.
Para las acciones siguientes, será necesario que tengan las credenciales de algún usuario de la Mac.
Lo primero que verán al abrir el PuTTy es la siguiente ventana:


En Host Name (or IP address) irá la dirección IP de nuestra Mac.
El resto lo dejaremos como viene y presionaremos Open.

Cuando abra la ventana del terminal, nos pedirá credenciales, las ingresamos y ya estaremos dentro. Desde aquí podemos crear archivos, borrar, cerrar la sesión del VNC, cambiar la contraseña, etc.

Empezaremos por crear el archivo:

$ vi sesion.bash

Ahora hemos ingresado en el editor de texto "vi". Es el que usaremos para crear los archivos (también se los puede crear en un block de notas normal y nombrarlos ".bash").

En él insertaremos el siguiente código:

#!/bin/bash

START=$(date +%s)
DIFF=0
while [ $DIFF -le 10 ]
do
  END=$(date +%s)
  DIFF=$(( $END - $START ))

  if [ "$DIFF" -eq "10" ];then
    ./cerrar.sh
  fi
done

Saldremos de vi presionando la tecla Esc y escribiendo :wq!

$ chmod +x sesion.bash

Ahora lo ejecutaremos:

$ ./sesion.bash

Ya tenemos nuestro timer.
Ahora crearemos el script "cerrar.bash" que ejecutamos en el código anterior.

 $ vi cerrar.bash

En él insertaremos el siguiente código:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -off -restart -agent -privs -all -allowAccessFor -allUsers

Uff! Ya pudimos hacer las sesiones. Tomémonos un descanso viendo alguna peli de Kubrick o Nolan.

Es necesario entender las posibilidades que trae el poder controlar de esta forma la computadora, todo por código, con el que tenemos mucho más acceso y posibilidades que por la interfaz. Claro, se ve mas complicado y lo es, pero es mucho mas gratificante el resultado que podemos obtener con este pequeño esfuerzo de mas que el que obtendremos con cualquier configuración básica. El trabajar con SSH siempre nos permitirá visualizar de forma cómoda desde nuestra computadora personal el Shell de aquella sobre la que estemos haciendo algún control o modificaciones, lo cual trae muchas ventajas en cuanto a la agilidad del proceso. Para aquellos escépticos que lo vean inseguro... bueno, no lo es; simplemente no. SSH ofrece muchísima seguridad en cuanto a los datos transferidos y a la conexión establecida, por lo que tus usuarios están a salvo.

No hay comentarios:

Publicar un comentario