¿Cuál es el mejor método para registrar una sesión de shell BASH en un archivo en la máquina host?
El formato de salida preferido sería equivalente a la configuración de registro de "salida imprimible" de PuTTY, tal como la ve el usuario, incluida la entrada y excluye los datos de caracteres de control ncurses.
Respuestas:
Puede valer la pena mirar programas de auditoría de shell o sistema como rooth o sudosh .
fuente
rootsh
aplicación ahora está en desuso ysudosh
parece no mantenerse. Implementamos una envoltura delgada como el papelsudo
para permitirsudo
que se use como un shell de inicio de sesión con el propósito de iniciar sesión. Ver aquí: github.com/cloudposse/sudoshPuede iniciar la pantalla gnu y usar la función de registro. No sé de nada que pueda proporcionarle un registro realmente bueno para aplicaciones ncurses como top.
pantalla de hombre
fuente
TTYrec es probablemente la solución más fácil. Puedes usar el original:
http://0xcc.net/ttyrec/index.html.en
O rueda el tuyo:
http://en.wikipedia.org/wiki/Ttyrec
O bien, podría obtener toda la vieja escuela y | todos sus comandos para tee command.timestamp.tee
fuente
El
script
programa tomará un registro completo de su sesión de shell. No sé si es equivalente a cualquier cosa PuTTY.fuente
No estoy seguro exactamente qué estás tratando de lograr aquí. ¿Es esto para entrenamiento o medicina forense? Si desea algo que produzca buenos archivos de registro legibles, probablemente no tenga suerte. Si está buscando poder reproducir sesiones, ttyrec es lo que busca. Puede ejecutarlo como parte de un script de inicio de sesión para capturar la sesión de un usuario, pero asegúrese de usar 'trap' para evitar que un usuario salga de ttyrec y regrese a un shell.
fuente
Todos los comandos ingresados se escriben en el archivo .bash_history, normalmente en su hogar. Puede establecer el recuento de líneas que se almacenan mediante la configuración HISTFILESIZE.
Sin embargo, no hay marcas de tiempo ni salida.
Si esto es realmente necesario, haría un contenedor alrededor de bash, copiando stdin y stdout en un archivo y trabajando en eso.
fuente
Puede intentar usar http://xgu.ru/wiki/LiLaLo Está hecho en Rusia, por lo que la documentación también está en ruso, pero Google Translate lo ayudará. Aquí hay un ejemplo de la salida: (fuente: xgu.ru )
fuente