Linux用户操作日志记录和回放
时间:2016-11-24 12:27 来源:潇湘夜雨 作者:华嵩阳 点击:次
介绍:在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) |