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

每次用户登陆,就会自动记录该用户的所有操作:

 

posted @ 2018-06-29 13:35  suonikeyinsu  Views(4189)  Comments(0Edit  收藏  举报