Bash: filtra comandos inválidos do histórico, especificamente senhas

3

Related Question, less specific: Automatic cleanup of Bash history

Esta questão se concentra em um único problema.

Com o tempo, um usuário acabará por digitar uma senha na linha de comando por acidente e pode até pressionar enter, o que colocará a senha no histórico. O usuário provavelmente esperava um prompt de senha, mas algo foi digitado errado, fazendo com que o prompt não seja exibido.

Esse usuário pode não saber como limpar o histórico com history e history -d ou pode estar ocupado demais para pensar sobre isso.

Sugiro remover todos os itens do histórico que não são encontrados em which ou outra lista branca. Um benefício adicional é que você não cometerá o mesmo erro duas vezes em um comando mal digitado, não encontrado em which

Você conhece

  • uma maneira de informar bash para executar meu script de limpeza antes ou logo depois de escrever o histórico
  • uma opção que inclui essa limpeza com base em which específica, ou
  • uma maneira alternativa de evitar que senhas sejam armazenadas em history ?
por George Bailey 21.02.2012 / 17:56

1 resposta

2

  • Solicitação: "uma maneira de dizer ao bash para executar meu script de limpeza antes ou logo após escrever o histórico"

Você pode usar incrontab para acionar um script em IN_CLOSE_WRITE para cada usuário bash_history . Este artigo de Howtoforge cobre muito terreno em Incrontab. / p>

Observe que o ulimit geralmente é inotificado em 128 relógios. Você pode modificar isso com entradas simples de sysctl .

    
por 22.02.2012 / 05:10