Não, você não pode, principalmente porque é trivial para qualquer usuário impedir que o bash grave o arquivo de histórico.
Se você realmente deseja auditar a atividade do sistema, use o daemon auditd
; é para isso.
existe uma maneira de transmitir / monitorar / logar o histórico bash para evitar a habilidade de alguém esconder coisas?
gostaria de monitorar e conhecer cada pequena coisa que acontece para que a lista de comandos e arquivos editados possa ser verificada e assistida.
O rsync seria uma maneira ideal ou há um programa real que possa ser instalado.
Não, você não pode, principalmente porque é trivial para qualquer usuário impedir que o bash grave o arquivo de histórico.
Se você realmente deseja auditar a atividade do sistema, use o daemon auditd
; é para isso.
Você provavelmente teria que modificar a programação do shell bash para fazer o que quiser. Embora haja histórico fornecido pelo shell bash, isso pode ser facilmente substituído pelo usuário. É claro que, a partir do bash, um usuário poderia ir para outro shell sem fazer log.
Mas se o bash fosse o único shell disponível para o usuário, ainda assim poderia funcionar. Talvez usando um cron job para rsync o arquivo de histórico periodicamente. Seria muito fácil adulterar o arquivo em 1 minuto, no entanto.
Uma alternativa: Configurar um pipe nomeado chamado ~ / .bash_history que usa o netcat para encaminhar os comandos do bash para um host remoto?
Olhe para Atributos de arquivo estendidos - Wikipedia, a enciclopédia livre , isso ajudará você a manter o .bash_history do seu usuário arquivo sem temperar com ele.
Tags ssh monitoring debian linux ubuntu