Registrazione della sessione della shell BASH sull'host remoto


8

Qual è il metodo migliore per registrare una sessione della shell BASH in un file sul computer host?

Il formato di output preferito sarebbe equivalente all'impostazione del registro "output stampabile" di PuTTY, come visualizzato dall'utente comprensivo di input ed esclusivo dei dati dei caratteri di controllo di ncurses.


Curioso di sapere quale shell stai usando.
dr.pooter,

Risposte:


4

Potrebbe valere la pena guardare programmi di auditing di shell o di sistema come rooth o sudosh .


rootsh risulta essere il più vicino a quello che voglio, grazie.
Andy,

1
Puoi anche prendere in considerazione acct / psacct (contabilità BSD) o snoopy. Non registrano l'output, ma sono anche meno dettagliati. Vedi: cyberciti.biz/tips/… e sourceforge.net/projects/snoopylogger
Mircea Vutcovici

L' rootshapp ora è obsoleta e sudoshsembra non mantenuta. Abbiamo implementato un wrapper sottile come carta sudoper consentire sudol'utilizzo come shell di accesso ai fini della registrazione delle sessioni. Vedi qui: github.com/cloudposse/sudosh
Erik Osterman

2

È possibile avviare la schermata GNU e utilizzare la funzione di registro. Non so nulla che ti dia un buon registro per le applicazioni ncurses come top.

schermo uomo

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n"
in the window's default directory, where n is the number of the current
window. This filename can be changed with the `logfile' command. ...

logfile filename
logfile flush secs

Defines the name the log files will get. The default is "screenlog.%n".
The  second  form changes the number of seconds screen will wait before
flushing the logfile buffer to the file-system. The default value is 10
seconds.

L'output dello schermo equivale alla gestione degli script - ncurses sembra non supportata.
Andy,


1

Il scriptprogramma prenderà un registro completo della sessione della shell. Non so se è equivalente a qualsiasi cosa PuTTY.


Grazie, ma non è adatto perché trascorro del tempo sulla shell con top open, che lo schermo registra come: [andy @ 165 ~] $ top ESC [HESC [2JESC (BESC [mtop - 23:34:49 up 19 giorni, 17 : 42, 1 utente, carico medio: 0,11, 0,07, 0,01ESC (BESC [mESC [39; 49mESC [K
Andy

0

Non sono sicuro esattamente cosa stai cercando di ottenere qui. Questo è per la formazione o la medicina legale? Se vuoi qualcosa che produca file di log leggibili, probabilmente sei sfortunato. Se stai cercando di riprodurre sessioni, ttyrec è ciò che cerchi. Puoi eseguirlo come parte di uno script di accesso per acquisire la sessione di un utente, ma assicurati di usare 'trap' per impedire a un utente di uscire da ttyrec e tornare a una shell.


Controllo personale e registrazione di testi in chiaro; la riproduzione delle sessioni non è richiesta.
Andy,

2
script è la cosa più vicina a ciò che vuoi, anche se, come detto, non può gestire bene ncurses. Usiamo gli script per registrare tutte le sessioni e proviamo solo a vedere oltre il pasticcio che ncurses farà.
goo,

Grazie Geoff, sembra che potrei essere bloccato con la sceneggiatura allora.
Andy,

0

Tutti i comandi inseriti sono scritti nel file .bash_history, normalmente a casa tua. È possibile impostare il conteggio delle righe memorizzate tramite l'impostazione HISTFILESIZE.

Non ci sono timestamp e output, tuttavia.

Se questo è davvero necessario, creerei un wrapper attorno a bash, copiando stdin e stdout in un file e lavorerò su quello.


0

Puoi provare a usare http://xgu.ru/wiki/LiLaLo È realizzato in Russia, quindi anche la documentazione è in russo, ma Google Translate ti aiuterà. Ecco un esempio dell'output: (fonte: xgu.ru )testo alternativo


La traduzione è un po 'traballante. Questo gestirà qualcosa come un processo top interattivo.
dr.pooter,

per quanto riguarda l'immagine, non gestisce vi, quindi nessun top penso. Ma il logging è piuttosto interessante.
TiFFolk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.