Sessão de shell BASH registrando no host remoto

8

Qual é o melhor método de registrar uma sessão de shell BASH em um arquivo na máquina host?

O formato de saída preferido seria equivalente à configuração de log de "saída imprimível" do PuTTY, conforme visto pelo usuário, inclusive de entrada e excludente de dados de caracteres de controle ncurses.

    
por Andy 15.06.2009 / 00:02

7 respostas

4

Pode valer a pena consultar programas de auditoria de sistemas ou shell, como rootsh ou sudosh .

    
por 15.06.2009 / 18:37
2

Você pode iniciar a tela do gnu e usar o recurso de registro. Eu não sei de nada que vai te dar um log realmente bom para ncurses aplicações como top.

man tela

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.
    
por 15.06.2009 / 06:56
2

O TTYrec é provavelmente a solução mais fácil. Você pode usar o original:

link

Ou gire o seu próprio:

link

Ou, você pode obter toda a velha escola e | todos os seus comandos para tee command.timestamp.tee

    
por 15.06.2009 / 06:56
1

O programa script terá um log completo da sua sessão do shell. Não sei se é equivalente a qualquer coisa PuTTY.

    
por 15.06.2009 / 00:07
0

Você pode tentar usar o link É feito na Rússia, então a documentação também está em russo, mas o google translate irá ajudá-lo. Aqui está um exemplo de saída: texto alternativo http://xgu.ru/w/images/1 /1f/Lilalo-comment.png

    
por 15.06.2009 / 07:37
0

Não sei exatamente o que você está tentando alcançar aqui. Isso é para treinamento ou forense? Se você quer algo que produz arquivos de log legíveis, você provavelmente está sem sorte. Se você está olhando para ser capaz de reproduzir sessões, ttyrec é o que você está procurando. Você pode executá-lo como parte de um script de login para capturar a sessão de um usuário, mas certifique-se de usar 'trap' para impedir que um usuário saia do ttyrec e volte para um shell.

    
por 15.06.2009 / 13:01
0

Todos os comandos inseridos são gravados no arquivo .bash_history, normalmente em sua casa. Você pode definir a contagem de linhas que são armazenadas através da configuração HISTFILESIZE.

Não há timestamps e saída, no entanto.

Se isso for realmente necessário, eu faria um wrapper em torno do bash, copiando stdin e stdout para um arquivo e trabalhando com isso.

    
por 15.06.2009 / 16:39