linux下监控用户的操作记录---录像播放性质
想知道用户登陆系统后都操作了什么,怎么办?
别急,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下监控用户的操作记录---录像播放性质的更多相关文章
- Linux 下监控用户最大进程数参数(nproc)是否到达上限
Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤: 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因为 Linux 环境下执行多线 ...
- linux下sendmail邮件系统安装操作记录
电子邮件系统的组成:1)邮件用户代理(Mail User Agent , MUA),MUA是一个邮件系统的客户端程序,它提供了阅读,发送和接受电子邮件的用户接口. 最常用的 MUA 有: linux ...
- Linux下绑定网卡的操作记录
公司采购的服务器安装了双网卡,并进行bond网卡绑定设置,网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6. 第一种模式:mod= ...
- Linux下监控用户操作轨迹
在实际工作当中,都会碰到误删除.误修改配置文件等事件.如果没有堡垒机,要在linux系统上查看到底谁对配置文件做了误操作,特别是遇到删库跑路的事件,当然可以通过history来查看历史命令记录,但如果 ...
- Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤:
https://www.cnblogs.com/autopenguin/p/6184886.html 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因 ...
- 记录linux系统下所有用户的操作信息
在日常运维中,我们需要清楚服务器上每个用户登录后都做了哪些操作,我们需要记录下每个用户的操作命令.下面的内容设置可以实现在Linux下所有用户,不管是远程还是本地登陆,在本机的所有操作都会记录下来,并 ...
- linux下添加用户并赋予root权限
1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing pass ...
- linux下加入用户并赋予root权限
1.加入用户.首先用adduser命令加入一个普通用户,命令例如以下: #adduser tommy //加入一个名为tommy的用户 #passwd tommy //改动password Cha ...
- Linux下的用户和用户组,文件权限:chown和chmod
如下图所示,root权限下新建一个用户MasterBai, /etc/passwd文件中新加入一些信息 这个文件中,记录了该服务器的用户信息,如下图红色框起来的用户,就是我们自己创建的用户,而起来2- ...
随机推荐
- update tableView contenSize
NSIndexPath *messageIndexPath = [NSIndexPath indexPathForRow:afterRowCount-1 inSection:0]; [self. ...
- C/C++中怎样获取日期和时间
C/C++中怎样获取日期和时间摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的实 ...
- 使用 xmllint 验证 odoo xml文件
Odoo 源码包含了2个 relax ng 文件,也是odoo sa用来验证xml的正确性的. openerp/import_xml.rng openerp/addons/base/rng/view. ...
- 使用match、test控制输入字符格式后键盘向左向右键光标自动定位解决
直接举例说明(正则表达式替换红色区域即可) /** * 判断是否位数字 * @param obj 数字 */ function numOnly(obj) { if(!(/^\d*$/.test(obj ...
- linux find prune排除某目录或文件
http://blog.csdn.net/ysdaniel/article/details/7995681 查找cache目录下不是html的文件 find ./cache ! -name '*.ht ...
- MySQL 启动报错:File ./mysql-bin.index not found (Errcode: 13)
Linux下安装初始化完MySQL数据库之后,使用mysqld_safe启动mysql数据库,如下发现,启动失败 [root@SVNServer bin]# ./mysqld_safe –user=m ...
- 如何获取ipa 包的图片
突然想起当初刚学习iOS的时候,就经常通过抓包和提取素材的方式来模仿App,今天就教大家如何一步步提取App的素材! 大家是否有过想要获取别人的素材的想法?看到某些App的资源很不错,很想导出来用用, ...
- Python 007- python的各种函数
1.chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符. unichr()跟它一样,只不过返回的是Unicod ...
- AppStore审核--17.5
本文转载至 http://blog.csdn.net/addychen/article/details/39672185 感谢原文作者分享 AppStore审核 为了确保用户理解应用如何使用他们的数据 ...
- 【BZOJ4561】[JLoi2016]圆的异或并 扫描线
[BZOJ4561][JLoi2016]圆的异或并 Description 在平面直角坐标系中给定N个圆.已知这些圆两两没有交点,即两圆的关系只存在相离和包含.求这些圆的异或面积并.异或面积并为:当一 ...