script 实时监控用户操作

    技术2022-05-19  20

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

    #记录所有用户的操作记录,排除系统中的用户和root用户if [ $UID -ge 500 ]; thenexec /usr/bin/script -a -f -q /var/log/$USER-$UID-`date +%Y%m%d%H%M`.logfi这样,只要有用户登陆到你的系统,那么系统就会自动对其操作进行记录,用户的任何一个操作都记录到了/var/log/用户名-用户ID-时间.log中了。这个记录文件大家可以自己设置。关于记录的文件内容,可以用下面三种方法来查看cat yufei-500-201104141312.loghead -n -1 yufei-500-201104141312.logtail -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 ]; thenexec /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`.logfi这时候就保存了时间和记录文件,我们就可以通过scriptreplay来查看用户的一举一动了。scriptreplay的格式是scriptreplay 时间文件 记录文件如scriptreplay yufei-500-201104141336.date yufei-500-201104141336.log

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


    最新回复(0)