script 实时监控用户操作

我们要在系统的profile文件中增加下面的内容,

#记录所有用户的操作记录,排除系统中的用户和root用户
if [ $UID -ge 500 ]; then
exec /usr/bin/script -a -f -q /var/log/$USER-$UID-`date +%Y%m%d%H%M`.log
fi

这样,只要有用户登陆到你的系统,那么系统就会自动对其操作进行记录,用户的任何一个操作都记录到了/var/log/用户名-用户ID-时间.log中了。这个记录文件大家可以自己设置。
关于记录的文件内容,可以用下面三种方法来查看
cat yufei-500-201104141312.log
head -n -1 yufei-500-201104141312.log
tail -n +1 yufei-500-201104141312.log

当然我们可以通过|grep来过滤我们想要的内容
注意:查看上面的LOG,不能用vi more less这三个命令来查看,特别是more和less你什么也看不到。vi看到的里面有很多的乱码。

上面的方式存在一个缺点,就是不能记录到交互的内容(实际上是记录了,只是我们看不到),那么我们可以通过script的scriptreplay对操作进行回放,这样,就对用户的操作一览无遗了。
如果要使用scriptreplay的回放功能,需要跟时间结合,所以需要使用-t进行记录时间。
vi /etc/profile
修改为下面的内容:
if [ $UID -ge 500 ]; then
exec /usr/bin/script -t 2>/var/log/$USER-$UID-`date +%Y%m%d%H%M`.date  -a -f -q /var/log/$USER-$UID-`date +%Y%m%d%H%M`.log
fi

这时候就保存了时间和记录文件,我们就可以通过scriptreplay来查看用户的一举一动了。
scriptreplay的格式是
scriptreplay 时间文件 记录文件

scriptreplay yufei-500-201104141336.date yufei-500-201104141336.log

注:
script和scriptreplay都是由util-linux-ng软件包提供的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值