Linux下监控用户操作轨迹
在实际工作当中,都会碰到误删除、误修改配置文件等事件。如果没有堡垒机,要在linux系统上查看到底谁对配置文件做了误操作,特别是遇到删库跑路的事件,当然可以通过history来查看历史命令记录,但如果把history记录涂抹掉了,照样啥也看不到了。
不要担心。
linux script命令可以满足我们的需求,script可以记录终端会话,只要是linux6.3以上的系统,都会自带script命令,下面我用centos 7.4系统来测试一下。
1.查看系统版本
[root@aliyun ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
2.验证script命令
[root@aliyun ~]# which script
/usr/bin/script
3.创建目录、赋予权限
[root@aliyun ~]# mkdir /var/log/script
[root@aliyun ~]# chmod 777 /var/log/script/
4.配置profile文件
在末尾添加如下内容:
[root@aliyun ~]# vim /etc/profile
if [ $UID -ge 0 ]; then
exec /usr/bin/script -t 2>/var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.log
fi
用户登录执行的操作都会记录到/var/log/script/*.log里,可以通过more、vi等命令查看目录里的日志。
参数说明:
-t
指明输出录制的时间数据;
-f
在输出到日志文件的同时,也可以查看日志文件的内容;
-a
输出录制的文件,在现有内容上追加新的内容;
-q
可以使script命令以静默模式运行;
5.使配置生效
[root@aliyun ~]# source /etc/profile
6.验证
[root@aliyun ~]# exit
exit
连接断开
连接成功
Last login: Thu Aug 9 10:30:55 2018 from 122.97.179.119
Welcome to Alibaba Cloud Elastic Compute Service !
[root@aliyun ~]# date
Thu Aug 9 10:48:05 CST 2018
[root@aliyun ~]# cd /var/log/script/
[root@aliyun script]# ll -h
total 412K
-rw-r--r-- 1 root root 148 Aug 9 10:47 root-0-201808091043.date
-rw-r--r-- 1 root root 249 Aug 9 10:47 root-0-201808091043.log
-rw-r--r-- 1 root root 0 Aug 9 10:47 root-0-201808091047.date
-rw-r--r-- 1 root root 404K Aug 9 10:49 root-0-201808091047.log
(.log)操作历史;
(.data)回放操作;
在/var/log/script目录中,已经产生了log和data为后缀的文件,并且还看到了root用户和UID号。
可以用scriptreplay命令回放操作:
先指定时间文件(.data),再指定命令文件(.log)。
[root@aliyun script]# scriptreplay root-0-201808091043.date root-0-201808091043.log
可以随时查看,定位问题好找原因。
转载:
https://mp.weixin.qq.com/s/HYNRswH5ODmAPXZP4hWPJw?scene=25#wechat_redirect