linux监控系统行为
1、验证电脑是否存在,一般都有
which script
/usr/bin/script
2、配置profile文件,在末尾添加如下内容:
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
========================================================
参数:
-t 指明输出录制的时间数据
-f 如果需要在输出到日志文件的同时,也可以查看日志文件的内容,可以使用 -f 参数。PS:可以用于教学,两个命令行接-f可以实时演示
-a 输出录制的文件,在现有内容上追加新的内容
-q 可以使script命令以静默模式运行
说明:
用户登录执行的操作都会记录到/var/log/script/*.log 里(保存日志的目录根据你自己定义),我们可以通过more、vi等命令查看目录里的日志。
注意:
我这里把用户ID大于0的都记录下来了,你可以重新登录用户,随便操作一些命令,查看生成的文件。
root用户的ID为0,新建普通用户的UID是从500开始的(通过cat /etc/password可以查看用户的UID),如果你不想记录root用户的操作,你把if里面的值改成500: if [ $UID - ge 500 ];
3、创建目录、赋予权限
mkdir /var/log/script
chmod 777 /var/log/script/
source /etc/profile
退出linux终端,在重新登录一下,然后随便敲几个命令来看看。
cd /var/log/script/
在/var/log/script目录中,已经产生了log和data为后缀的文件,并且还看到了root用户和UID号0。
.log:记录了操作
.data:可以回放操作
我们用scriptreplay来回放一下操作,看下效果如何:
scriptreplay root-0-201712221545.date root-0-201712221545.log