潇湘夜雨移动版

主页 > 系统 >

Linux用户操作日志记录和回放

介绍:在Linux服务器中,一台服务器可能会用多个用户使用,这样就可能会存在误操作,这就需要记录每个用户的操作行为,方便定位错误的
来源。此外,系统自身的历史记录命令是有数量限制的,而且一些别有用心的用户做一下非法操作,经常会清理登录和操作痕迹。所以,我们
很有必要建立一个用户操作行为记录工具,保存用户的行为日志。
 
1、创建日志存放目录
[root@localhost ~]# mkdir /var/log/operation
[root@localhost ~]# chmod 777 -R /var/log/operation/
 
2、设置用户登陆后自动录制
[root@localhost ~]# vim /etc/profile  #末尾追加一下内容
脚本如下:
if [ $UID -ge 500 ]; then
  exec script -t 2>/var/log/operation/$USER-$UID-`date +%F-%T`.date -a -q -f /var/log/operation/$USER-$UID-`date +%F-%T`.log
fi
[root@localhost ~]# source /etc/profile #刷新生效
 
参数说明:
-t:记录操作时序,2>将输出的时序存到指定文件中,回放时用到此时间文件
-a:输出结果追加到文件中
-q:静默启动
-f:每次写完后刷新输出
-ge 500 表示uid大于等于500的普通用户才会记录行为日志,具体是实际情况设置。
 
3.用户登录测试
 
用其它用户登录系统,查看是否产生日志。
 
 
[root@localhost ~]# ls -lh /var/log/operation/ #已经自动产生操作日志
总用量 36K
-rw-rw-r-- 1 lzh lzh 917 11月 24 12:00 lzh-501-2016-11-24-11:42:51.date #操作时序日志
-rw-rw-r-- 1 lzh lzh 31K 11月 24 12:00 lzh-501-2016-11-24-11:42:51.log #操作行为日志
 
4.实时监控
[root@localhost ~]# tail -f /var/log/operation/lzh-501-2016-11-24-11\:42\:51.log 
 
[lzh@localhost ~]$ df -h #在测试用户lzh中输入命令
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5        16G  5.9G  8.7G  41% /
tmpfs           495M     0  495M   0% /dev/shm
/dev/sda1       190M   36M  145M  20% /boot
/dev/sda3       1.9G  172M  1.7G  10% /home
 
再查看监控端:
[root@localhost ~]# tail -f /var/log/operation/lzh-501-2016-11-24-11\:42\:51.log 
[lzh@localhost ~]$ df -h #测试端的回话信息
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5        16G  5.9G  8.7G  41% /
tmpfs           495M     0  495M   0% /dev/shm
/dev/sda1       190M   36M  145M  20% /boot
/dev/sda3       1.9G  172M  1.7G  10% /home
 
5.回放用户操作行为
根据时间点来自动回放用户的操作现场:
[root@localhost ~]# scriptreplay /var/log/operation/lzh-501-2016-11-24-11\:42\:51.date /var/log/operation/lzh-501-2016-11-24-11\:42\:51.log 
[lzh@localhost ~]$ ls
httpd-2.4.23.tar.gz  httpd.spec  rpmbuild
[lzh@localhost ~]$ ls /var/log/
anaconda.ifcfg.log    cron-20161030         maillog-20161120      secure-20161030
anaconda.log          cron-20161106         mcelog                secure-20161106
anaconda.program.log  cron-20161115         messages              secure-20161115
 
可以像视频一样回放用户的操作记录,不用手动一行一行的查看日志记录。
(责任编辑:liangzh)