ubuntu下记录所有用户的登录和操作日志
一般我们可以用history命令来查看当前用户的操作记录,但是这个命令不能记录是所有用户登录操作的,也不能记录详细的操作时间,且不完整;所以误操作而造成重要的数据丢失,就很难查到是谁操作导致的。
在这里我们通过脚本代码来实现记录所有用户的登录操作日志:
编辑/etc/profile文件,在文件末尾加入下面代码:
1 history 2 USER=`whoami` 3 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` 4 if [ "$USER_IP" = "" ] 5 then 6 USER_IP=`hostname` 7 fi 8 if [ ! -d /var/log/my_hist ] 9 then 10 mkdir /var/log/my_hist 11 chmod 777 /var/log/my_hist 12 fi 13 if [ ! -d /var/log/my_hist/${LOGNAME} ] 14 then 15 mkdir /var/log/my_hist/${LOGNAME} 16 chmod 300 /var/log/my_hist/${LOGNAME} 17 fi 18 export HISTSIZE=4096 19 DT=`date "+%Y-%m-%d_%H:%M:%S"` 20 export HISTFILE="/var/log/pl_hist/${LOGNAME}/${USER}@${USER_IP}_$DT" 21 chmod 600 /var/log/pl_hist/${LOGNAME}/*pl_hist* 2>/dev/null
每次用户登陆,就会自动记录该用户的所有操作: