
― Ernest Cline, Ready Player One
Hace ya varios años, les recomendaba un muy buen complemento para sudo, con el cual se podía grabar la sesión que utilizaba dicho comando. La herramienta (sudosh) fue abandonada en 2006 y recuperada en 2 versiones, actualmente en github:
– sudosh
– sudosh2
Y aunque son buenas versiones, siempre sentí que no cumplían al 100% con lo que necesitaba, principalmente, porque al sustituir la shell con dichos programas, la experiencia de usuario disminuía, ya que en ocasiones no se ejecutaba correctamente y mandaba diversos errores que no le permitían trabajar de la mejor forma.
Recientemente, como parte del proyecto Scribery (Open-Source User Session Recording) se desarrolló tlog, un paquete de grabación y reproducción de I/O de terminal adecuado para implementar la grabación centralizada de sesiones de usuario.
Tlog no depende de sudo, lo cual simplifica mucho su instalación y uso. Para instalarlo, en mi caso, utilice el rpm proporcionado en github, pero también se puede clonar el repositorio y compilarlo para cada distribución.
Instalando el rpm:
[root@vmtest01 ~]# dnf localinstall tlog-5-1.fc28.x86_64.rpm
Una vez instalado, para grabar una sesión ejecutamos:
[root@vmtest01 ~]# tlog-rec --writer=file --file-path=tlogtest.log
A partir de entonces, todo lo que tecleemos en la terminal, incluso los errores y la corrección de los mismos, será grabada en el log.
Para salir de la grabación tecleamos:
[root@vmtest01 ~]# exit
Para revisar la grabación de la sesión, ejecutamos
[root@vmtest01 ~]# tlog-play --reader=file --file-path=tlogtest.log
Si quisiéramos grabar todas las sesiones de algún usuario en particular, primeramente personalizamos la configuración de la grabación y localización de los archivos en:
/etc/tlog/tlog-rec-session.conf
Y modificamos la shell que utilizará el usuario:
[root@vmtest01 ~]# usermod -s /usr/bin/tlog-rec-session <user>
Espero les sirva… 🙂