想知道用户登陆系统后都操作了什么,怎么办?

别急,linux下有一个script工具,专门记录终端会话中所有输入输出结果,并存放到指定文件中。

先看看怎么录制吧!

1、创建日志存放目录

# mkdir /opt/operation_log
# chmod -R /opt/operation_log

2、设置用户登陆后自动录制

# vi /etc/profile   #末尾追加一下内容

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`


if [ "$USER_IP" = "" ]

then

USER_IP=`hostname`

fi


if [ $UID -ge 500 ]; then

exec script -t 2>/opt/operation_log/$USER-${USER_IP}-`date +%F-%T`.date -a -q -f /opt/operation_log/$USER-${USER_IP}-`date +%F-%T`.log

fi

# source /etc/profile   #刷新生效

参数说明:

-t:记录操作时序,2>将输出的时序存到指定文件中,回放时用到此时间文件

-a:输出结果追加到文件中

-q:静默启动

-f:每次写完后刷新输出

3、查看生成的文件

用户远程登陆操作退出后

[root@localhost operation_log]# ll
总用量 8
-rw-rw-r-- 1 work work 217 3月 9 00:50 work-192.168.199.126-2017-03-09-00:50:29.date
-rw-rw-r-- 1 work work 1556 3月 9 00:50 work-192.168.199.126-2017-03-09-00:50:29.log

可以看到,分别生成我们定义的日志格式。

当用记录日志比较多时,用more或者cat查看就比较费劲了,这时有个对应的工具叫scriptrelay,通过结合script输出的时序文件,可以自动播放。

4、操作记录回放

# scriptreplay work-192.168.199.126-2017-03-09-00:50:29.date work-192.168.199.126-2017-03-09-00:50:29.log

如果你只是单纯记录本次操作命令的话,可以直接运行:

# script test

会切换到script中,等你执行完命令后输入exit退出,再查看more test文件即可。

如果没有scriptreplay命令

[root@localhost ~]# wget http://dxdown.onlinedown.net/down/util-linux-ng-2.17.2.tar.zip
[root@localhost ~]# unzip util-linux-ng-2.17.2.tar.zip
[root@localhost ~]# tar zxvf util-linux-ng-2.17.2.tar.gz
[root@localhost ~]# cd util-linux-ng-2.17.2
[root@localhost ~]# ./configure && make (注意此处只是make了)
[root@localhost ~]# cp misc-utils/scriptreplay /usr/bin/
[root@localhost ~]# cd ..
[root@localhost ~]# rm -rf util-linux-ng-2.17.2*

这个时候就可以用scriptreplay这个命令来播放刚才的录像了

unzip 命令用不了:

#yum list | grep zip/unzip

#yum install zip

#yum install unzip

基本完成,如果在编译的时候出现错误:gcc : error trying to exec 'cc1plus': execvp : No sunch        file or directory

可以用gcc -v/g++ -v 来查看gcc 版本,会发现没有安装。安装如下:

#yum list | grep gcc

#yum install gcc-c++

#yum install unzip

linux下监控用户的操作记录---录像播放性质的更多相关文章

  1. Linux 下监控用户最大进程数参数(nproc)是否到达上限

    Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤: 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因为 Linux 环境下执行多线 ...

  2. linux下sendmail邮件系统安装操作记录

    电子邮件系统的组成:1)邮件用户代理(Mail User Agent , MUA),MUA是一个邮件系统的客户端程序,它提供了阅读,发送和接受电子邮件的用户接口. 最常用的 MUA 有: linux ...

  3. Linux下绑定网卡的操作记录

    公司采购的服务器安装了双网卡,并进行bond网卡绑定设置,网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6. 第一种模式:mod= ...

  4. Linux下监控用户操作轨迹

    在实际工作当中,都会碰到误删除.误修改配置文件等事件.如果没有堡垒机,要在linux系统上查看到底谁对配置文件做了误操作,特别是遇到删库跑路的事件,当然可以通过history来查看历史命令记录,但如果 ...

  5. Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤:

    https://www.cnblogs.com/autopenguin/p/6184886.html 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因 ...

  6. 记录linux系统下所有用户的操作信息

    在日常运维中,我们需要清楚服务器上每个用户登录后都做了哪些操作,我们需要记录下每个用户的操作命令.下面的内容设置可以实现在Linux下所有用户,不管是远程还是本地登陆,在本机的所有操作都会记录下来,并 ...

  7. linux下添加用户并赋予root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  8. linux下加入用户并赋予root权限

    1.加入用户.首先用adduser命令加入一个普通用户,命令例如以下: #adduser tommy //加入一个名为tommy的用户 #passwd tommy   //改动password Cha ...

  9. Linux下的用户和用户组,文件权限:chown和chmod

    如下图所示,root权限下新建一个用户MasterBai, /etc/passwd文件中新加入一些信息 这个文件中,记录了该服务器的用户信息,如下图红色框起来的用户,就是我们自己创建的用户,而起来2- ...

随机推荐

  1. js随机数 从头开始系列

    js要常常写啊要不然就要从0开始 1 var num = Math.random(); //创建一个0-1随机数字 num*=10 //变为0-10随机数字 //有好几种取整方式 var i = Ma ...

  2. HDMI速率计算

    我们在采集HDMI口的数据时,首先肯定要计算它的速率是多少.怎么计算这个速率,本文要跟大家分享的便是这个事情. HDMI口有三个TM-DS(Time Minimized Differential Si ...

  3. java监听器演示样例

    监听器的原理是观察者模式.就像明星(事件源)聚拢了一群粉丝(观察者).当明星有啥举动的时候会通过粉丝们报道出去. 订阅信息.计算器button都是该原理的应用. 以下写了一个监听器的小样例: pack ...

  4. erlang启动参数记录

    不管在erlang的shell下还是脚本里,启动参数都是非常有用的,抽空儿整理下erlang的常用启动参数: +A size   异步线程池的线程数,范围为0~1024,默认为10 +P Number ...

  5. 果壳、推库、虎秀、知乎、it世界

    果壳.推库.虎秀.知乎.it世界

  6. gcc參数总结

    /*gcc 命令总结*/ 补充下gcc的知识,免得被大自然说编译原理不行.. 1.-o 參数 參数说明: -o參数用来指定生成程序的名字 gcc test.c 会编译出一个名为a.out的程序 gcc ...

  7. EasyCamera Android安卓移动视频监控单兵设备接入EasyDarwin开源流媒体云平台

    前言 随着Android系统的不断更新和发展,现在越来越多的硬件产品选择用安卓系统作为运行环境,电视机,机顶盒.门禁.行车记录仪.车载系统.单兵设备等等,Android系统底层还是Linux,但对上层 ...

  8. SQuirreL – Phoenix的GUI

    本文主要介绍如何通过SQuirreL访问Phoenix,以及如何在SQuirreL中配置Phoenix参数. 什么是SQuirrel? SQuirreL SQL Client是一个开源免费软件, 可以 ...

  9. wcf系列(一)--- 寄宿方式

    一.自我寄宿(self-hosting) 1.wcf采用基于终结点(Endpoint)的通信手段:终结点由:地址(Address)+绑定(Binding)+契约(Contract)组成:  Enpoi ...

  10. c# 委托 Predicate的使用示例

    一.说明 委托Predicate 可以有参数(比如下面的示例),也可以不带参数,委托Predicate是返回固定值bool值的委托 二.示例代码(控制台程序) using System; using ...