命令审计,采用logger方式将信息记录到/tmp下面,目录也可以自己修改的

这个是根据用户来分类的,如果觉得不方便也可以用时间来分类也行


这个只是在root用户有记录,如果想所有用户都有记录,就得加到/etc/profile里面

echo "export PROMPT_COMMAND='{ msg=\$(history 1 | { read x cmd; echo \$cmd; });user=\$(whoami); echo \$(date \"+%Y-%m-%d %H:%M:%S\"):\$user:\`pwd\`/:\$msg ---- \$(who am i); } >> /tmp/\`hostname\`.\`whoami\`.history-timestamp'" >> /root/.bash_profile


mkdir -p /var/log/user_record/

echo "export PROMPT_COMMAND='{ msg=\$(history 1 | { read x cmd; echo \$cmd; });user=\$(whoami); echo \$(date \"+%Y-%m-%d %H:%M:%S\"):\$user:\`pwd\`/:\$msg ---- \$(who am i); } >> /var/log/user_record/\`hostname\`.\`whoami\`.history-timestamp'" >> /etc/profile


or

vim /etc/profile
export HISTORY_FILE=/var/log/history/${LOGNAME}/`date '+%Y-%m-%d_%T'`.log &> /dev/null    #自定义日志文件路径及名称
export PROMPT_COMMAND='{ date +" $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE' &> /dev/null


方法很多,可以根据自己的需求来具体做