Olá pessoal, hoje vamos falar sobre um assunto muito interessante. Vamos aprender como incluir data e hora no history do Linux.
##CavaloManco 🐎 🐎 🐎 ##BóBó 🥎🥎🥎
Ter um registro preciso de quando cada comando foi executado pode ser essencial para troubleshooting e auditorias. Habilitar timestamps no histórico de comandos do Bash é uma prática útil que todo administrador de sistemas deveria adotar. Neste artigo, vou te guiar nesse processo simples, mas eficaz.
1. Verifique a Versão do Bash
[root@appbi2 ~]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
O recurso de timestamps está disponível a partir do Bash 4.1
2. Configure o Timestamp
Agora, adicione a configuração necessária ao seu arquivo .bashrc
. Abra o arquivo com um editor de texto:
[root@appbi2 ~]# vi ~/.bashrc
Insira a seguinte linha no final do arquivo:
export HISTTIMEFORMAT="%d/%m/%y %T "
Isso configurará os timestamps para mostrar a data e a hora no history.
Explicação Técnica do HISTTIMEFORMAT
O HISTTIMEFORMAT
é uma variável de ambiente no Bash que especifica o formato do timestamp a ser usado no histórico de comandos. Vamos detalhar o que cada parte dessa configuração faz:
%d
: Dia do mês (de 01 a 31)%m
: Mês do ano (de 01 a 12)%y
: Ano com dois dígitos%T
: Hora no formato 24 horas (hh:mm:ss)
Quando você define HISTTIMEFORMAT="%d/%m/%y %T "
, está instruindo o Bash a prefixar cada comando no history com a data e a hora de cada comando.
3. Aplique as Mudanças
Depois de salvar o arquivo, recarregue o .bashrc
para aplicar as mudanças:
[root@appbi2 ~]# source ~/.bashrc
4. Verifique a Configuração
Execute alguns comandos no terminal e depois visualize o histórico para ver os timestamps:
[root@appbi2 ~]# history
Exemplo Prático da Saída
Aqui está um exemplo de como a saída do comando history
ficará após habilitar os timestamps:
[root@appbi2 ~]# history
979 28/05/24 07:04:26 free -g
980 28/05/24 07:04:49 sysctl vm.swappiness=10
981 28/05/24 07:04:56 cat /proc/sys/vm/swappiness
982 28/05/24 07:05:06 vi /etc/sysctl.conf
983 28/05/24 07:05:52 sysctl -p
984 28/05/24 07:05:57 ls -tra
985 28/05/24 07:05:59 ls -ltra
986 28/05/24 07:06:06 cat x.sh
987 28/05/24 07:06:20 ls -ltra
988 28/05/24 07:06:31 cat clear_swap.sh
989 28/05/24 07:06:49 nohup sh clear_swap.sh > clear_swap.out &
990 28/05/24 07:06:51 jobs
991 28/05/24 07:06:54 free -g
992 28/05/24 07:08:49 free -m
993 28/05/24 07:12:23 history
994 28/05/24 07:21:52 free -g
995 28/05/24 07:21:56 free -m
996 28/05/24 07:28:21 vi ~/.bashrc
997 28/05/24 07:28:42 source ~/.bashrc
998 28/05/24 07:28:45 history
999 28/05/24 07:28:58 ls
1000 28/05/24 07:29:00 pwd
Situação Prática
Vamos imaginar uma situação prática: você está investigando um incidente de segurança e precisa identificar a hora exata em que comandos específicos foram executados. Com os timestamps habilitados, fica muito mais fácil correlacionar esses comandos com outros eventos do sistema, como tentativas de login suspeitas. Por exemplo, se você descobrir que comandos críticos foram executados à 1h da manhã, pode verificar os logs de acesso para identificar quem estava ativo nesse momento. Sem os timestamps, essa correlação seria muito mais difícil.
Benefícios
- Auditoria: Facilita a rastreabilidade das ações realizadas no sistema.
- Troubleshooting: Ajuda a correlacionar ações com eventos do sistema, tornando a resolução de problemas mais eficiente.
Implementar timestamps no histórico de comandos é uma medida simples que pode agregar grande valor ao gerenciamento do seu ambiente Linux.
🚀🚀🚀 #OGuinaNãoTinhaDó 👋👋👋 #SeReagirBumViraPó 🚬🚬🚬 #CavaloManco 🐎 🐎 🐎