DEV Community

Cover image for Vazou a senha na linha de comando?
Natanael Alves
Natanael Alves

Posted on • Edited on

Vazou a senha na linha de comando?

Relato
Estava eu acessando o terminal do servidor de produção e - sem querer querendo - executei um comando junto com uma senha de acesso que não deveria estar ali quando executasse esse comando. Agora, a senha estava exposta no histórico de comando do terminal. Felizmente encontrei uma forma de resolver isso e vou compartilhar para caso um dia, quem sabe, você precisar por algum motivo - mas ninguém precisar sabe que um dia você precisou fazer isso, certo?

Como fazer

  1. Primeiro, você executa o comando history para saber em qual linha o comando a ser apagado está. Digamos que o comando está na linha 1234.
  2. Agora, só precisamos usar a flag -d do comando history para apagar uma linha específica do histórico, assim:
history -d 1234
Enter fullscreen mode Exit fullscreen mode

Para garanti que a linha foi apagada do histórico, usamos a flag -w para atualizar o histórico, assim:

history -w
Enter fullscreen mode Exit fullscreen mode

Se precisar de uma solução mais drástica para deletar um intervalo de linhas, você pode utilizar um for loop:

for i in {[fim]..[início]}; do history -d $i; done
Enter fullscreen mode Exit fullscreen mode

Se precisa de algo ainda mais bruto, você pode apagar todo o histórico do terminal com a flag -c

history -c
Enter fullscreen mode Exit fullscreen mode

Se quiser uma segurança a mais, no aquivo de configurações do terminal, você pode informar que comandos com certas palavras-chaves não vão ser registrado no histórico de comando. No meu caso, o arquivo de configs é o .bashrc e nele eu disse que qualquer comando que tenha o termo "senha" ou "pass..." devem ser ignorados do histórico. Para isso, precisa apenas adicionar o seguinte trecho no arquivo de configuração:

export HISTIGNORE="*senha*:pass*:*history*-d*"
Enter fullscreen mode Exit fullscreen mode

O valor atribuído à HISTIGNORE é uma expressão regular e você pode adicionar várias separando-as por ":" .

Conclusão
Espero que isso nunca aconteça com você, mas, se um dia acontecer, está aí a solução e ninguém além de você vai saber disso hehehe. Mas tome cuidado pra não precisa usar essa artimanha de novo, blz?. Espero que tenham gostado dessa e até a próxima.

Top comments (0)