Salvar o histórico do bash no syslog do CentOS

O Bash possui recurso de gravação em syslog, que é útil quando acessado por mais de uma pessoa.

Você precisa ter o bash versão 4.1+, no meu caso o CentOS 6.4 e o CentOS 7 já o têm

Abra o arquivo /etc/bashrce cole no final:

PROMPT_COMMAND=$(history -a)
typeset
-r PROMPT_COMMAND

function log2syslog
{
declare command

command
=$BASH_COMMAND
logger
-p local1.notice -t bash -i -- $USER : $PWD : $command

}
trap log2syslog DEBUG

Da próxima vez que você fizer login e efetuar o syslog:

$ sudo tail -10 /var/log/messages

Sep 21 20:35:57 my-server bash[28245]: pavel : /home/pavel : PATH=$PATH:$HOME/bin
Sep 21 20:35:57 my-server bash[28246]: pavel : /home/pavel : export PATH
Sep 21 20:36:15 my-server bash[28247]: pavel : /home/pavel : sudo tail -50 /var/log/messages
Sep 21 22:42:01 my-server bash[28273]: pavel : /home/pavel : sudo tail -50 /var/log/messages
Sep 21 22:51:35 my-server bash[28276]: pavel : /home/pavel : sudo nano /etc/bashrc
Sep 21 22:51:48 my-server bash[28304]: pavel : /home/pavel : PATH=$PATH:$HOME/bin
Sep 21 22:51:48 my-server bash[28305]: pavel : /home/pavel : export PATH
Sep 21 22:51:58 my-server bash[28306]: pavel : /home/pavel : sudo tail -f /var/log/messages
Sep 21 22:54:46 my-server bash[28309]: pavel : /home/pavel : sudo nano /etc/bashrc
Sep 21 22:56:04 my-server bash[28312]: pavel : /home/pavel : sudo tail -10 /var/log/messages

Isso pode funcionar bem com serviços de agregação de log. Embora não possa ser usado para fins de auditoria de segurança, porque é fácil evitar esse registro