Rsyslog
Collecter les commandes passees en root
Pour les loguer dans local6
vim /etc/profile.d/log_commands.sh
log_command() {
local cmd
cmd=$(history -a >(tee -a $HISTFILE) | sed -e "s/^[ ]*[0-9]*[ ]*//")
if [[ -n "$cmd" ]]; then
if [[ -n "$SUDO_USER" ]] ; then
logger -p local6.notice -t log_cmd "[$SUDO_USER:$PWD]# $cmd"
else
logger -p local6.notice -t log_cmd "[root:$PWD]# $cmd"
fi
history -c; history -r
fi
}
if [[ $USER == "root" ]]; then
PROMPT_COMMAND=log_command
fi
Pour les exploiter
vim /etc/rsyslog.conf
- *.info;mail.none;authpriv.none;cron.none /var/log/messages
+ *.info;mail.none;authpriv.none;cron.none;local6.none /var/log/messages
+ local6.notice /var/log/commands.log