Linux系统下用户行为审计
以下内容在RHEL 6.4下测试通过。
1、编写脚本Command_history.sh,生产历史命令记录文件,内容如下
#!/bin/bash [ -d /usr/lib/.cmdlog ] || mkdir -p /usr/lib/.cmdlog cmdlog_file="/usr/lib/.cmdlog/cmdlog.$(date +%F)" touch ${cmdlog_file} chmod 666 ${cmdlog_file} chattr +a ${cmdlog_file}
2、在root用户下设置crontab,定时每天凌晨零点定时执行Command_history.sh脚本。
0 0 * * * /root/Command_history.sh &>/dev/null
3、编辑/etc/profile文件,在最后添加如下内容
export CMDLOG_FILE="/usr/lib/.cmdlog/cmdlog.$(date +%F)" readonly PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(pwd) #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $CMDLOG_FILE'