De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Adicionando data e hora ao history

Colaboração: Lincoln Zuljewic Silva

Data de Publicação: 04 de Junho de 2009

Durante uma auditoria em um sistema Linux, você pode precisar verificar quais foram os comandos digitados por determinado usuário, porém as vezes, você precisa saber quando estes comandos foram digitados.

Por padrão, o comando history mostra somente os comandos executados:

myserver:/etc # history
1  useradd lsilva
2  passwd -S lsilva
3  userdel lsilva
4  userdel -r lsilva
5  vi /etc/login.defs
6  vi /etc/security/pam_env.conf
7  vi /etc/security/pam_unix2.conf
8  vi /etc/security/access.conf
9  vi /etc/security/limits.conf
10  cd ..
11  history

Agora, se você exportar a variavel HISTTIMEFORMAT, ao lado do comando executado, será exebida a data e a hora de execução:

myserver:/etc # export HISTTIMEFORMAT="%F %T "
myserver:/etc # history
1  2009-05-22 14:50:29 useradd lsilva
2  2009-05-22 14:50:31 passwd -S lsilva
3  2009-05-22 14:50:35 userdel lsilva
4  2009-05-22 14:50:37 userdel -r lsilva
5  2009-05-22 14:50:45 vi /etc/login.defs
6  2009-05-22 14:50:55 vi /etc/security/pam_env.conf
7  2009-05-22 14:51:04 vi /etc/security/pam_unix2.conf
8  2009-05-22 14:51:07 vi /etc/security/access.conf
9  2009-05-22 14:51:20 vi /etc/security/limits.conf
10  2009-05-22 14:51:35 cd ..
11  2009-05-22 14:52:01 history

O formato da data e hora, segue o padrão do comando date.

Pronto, basta colocar a exportação desta variável no /etc/bashrc (ou o arquivo *rc* do seu shell).

Detalhe que os comandos executados ANTES de se exportar a variável, ficarão com o horário da execução do export.



Veja a relação completa dos artigos de Lincoln Zuljewic Silva