Como você pode registrar todos os comandos digitados?

19

Como você pode registrar todos os comandos que alguém inseriu no shell?

Estou perguntando se você está logado no servidor de outra pessoa e algo quebra, ou se alguém está logado em seu servidor (intencionalmente ou maliciosamente).

Até mesmo um novato pode ignorar o histórico com unset history ou criar um novo shell para esconder seus rastros.

Estou curioso em saber como os administradores seniores do linux rastreiam quais comandos foram inseridos / mudanças feitas no sistema.

    
por spuder 08.08.2013 / 18:14

2 respostas

24

Confira auditd . Se você adicionar

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

para /etc/audit/audit.rules todos os comandos executados serão registrados. Consulte: link

Em seguida, envie para um servidor syslog.

    
por 08.08.2013 / 18:30
5

Você pode usar o comando script . Este comando não está incluído no POSIX, mas você achará útil armazenar em um arquivo todos os pressionamentos de tecla, bem como mensagens de saída e de erro. Você pode mais tarde ver o arquivo. Se você está fazendo algum trabalho importante e deseja manter um registro de todas as suas atividades, você deve invocar este comando imediatamente após efetuar o login:

$ script
Script iniciado, o arquivo é datilografado
$ _ Observe que esse é outro shell -child do shell de login

O prompt retorna e todos os toques de tecla (incluindo aquele usado para retroceder) que você agora insere aqui são gravados no arquivo 'typescript'. Depois que sua gravação terminar, você poderá encerrar a sessão digitando exit .
Nota: Se você digitar script filename , a sessão será armazenada no arquivo filename em vez de typescript , ou seja, o typescript será o padrão se não houver nome de arquivo específico é especificado.

Agora você pode usar cat filename ou cat typescript , o que for o caso, para ver a sessão gravada.

Se você deseja acrescentar uma nova sessão a um arquivo antigo, use: script -a Anexa a nova sessão ao texto digitcrito, a mesma regra padrão se aplica aqui também

Esta é uma maneira pela qual um administrador do sistema pode acompanhar as sessões. Espero que tenha sido informativo e útil. Felicidades!

    
por 17.08.2013 / 16:33