linux下监控用户的操作记录

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

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

先看看怎么录制吧!

1、创建日志存放目录


1

2

# mkdir /opt/operation_log

# chmod 777 -R /opt/operation_log

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


1

2

3

4

5

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

if [ $UID -ge 500 ]; then

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

fi

# source /etc/profile   #刷新生效

参数说明:

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

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

-q:静默启动

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

3、查看生成的文件


1

2

3

4

# ll /opt/operation_log/

total 8

-rw-rw-r-- 1 test test 124 Jul  3 07:17 test-1001-2015-07-03-07:17:36.date

-rw-rw-r-- 1 test test 167 Jul  3 07:17 test-1001-2015-07-03-07:17:36.log

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

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

4、操作记录回放


1

# scriptreplay test-1001-2015-07-03-07:17:36.date test-1001-2015-07-03-07:17:36.log

是不是轻松多了!

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

# script test

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

时间: 2024-09-10 06:23:48

linux下监控用户的操作记录的相关文章

linux系统中监控用户的操作记录命令

首先我们创建一个放操作记录的日志文件  代码如下 复制代码 touch /var/log/rootlog.txt 给这个文件相应的写权限和追加权限  代码如下 复制代码 chmod 002 /var/log/rootlog.txt chattr +a /var/log/rootlog.txt 编辑/etc/profile文件,末尾添加如下脚本命令  代码如下 复制代码 export HISTORY_FILE=/var/log/usermonitor/usermonitor.log export

记录每个用户的操作 记录每个用户的操作

问题描述 记录每个用户的操作 记录每个用户的操作 1.JoinPoint和ProceedingJoinPoint(aspectjrt-1.6.11.jar包):采用AOP的方法,记录每个用户的操作. (1)记录用户操作主要记录用户对系统进行操作时,对后台controller中的方法进行调用进行记录. 首先对要记录的方法进行配置(针对controller中的方法调用进行调用),即: aop:config /aop:aspect/aop:config 这样,当调用com.paic.mercury.v

如何在Linux下监控系统温度

大多数情况下,你无需担心你的电脑温度.除非制造上的缺陷,否则硬件设计一般不会使其超过最高工作温度.但即使没有任何硬件故障,各种各样的软件问题也会导致硬件过热,例如,显卡驱动的严重bug,风扇控制程序的错误配置,CPU调频守护进程的故障,等等. 严重的过热可能会对硬件造成永久性的伤害,所以应当时刻小心系统上的任何过热问题.因此,如果有合适的温度监控系统,能在系统温度突然急速上升时,第一时间向用户发出警报,岂不美哉? 本教程,我将描述如何在Linux下监控系统温度. 在Linux下有许多用户级工具可

Linux下获取用户主目录的方法分享

  Linux下获取用户主目录的方法分享     方法如下 char *path = getenv("HOME"); printf("path = %sn",path); getenv是标准库函数,包含stdlib.h头文件就可.

服务器-linux下root用户切换到普通用户执行ssh远程登录失败

问题描述 linux下root用户切换到普通用户执行ssh远程登录失败 这样,我想做一个web一件抓取日志的小程序,后台python调用ssh登录到远程主机执行系统命令抓取符合条件的日志,这个程序集成在一个运行在root下的web站中,然而服务器 设定了root用户不能用ssh远程登录.我想请教是否可能在程序中切换到普通用户登录ssh远程登录其他主机执行ssh命令,然后再切回root...或者是否有其他好的方法来实现这一 功能.(很多台服务器,一次性抓取符合条件的日志) 解决方案 linux下如

linux下普通用户在输入root密码下才可以执行对应程序如何实现?

问题描述 linux下普通用户在输入root密码下才可以执行对应程序如何实现? 解决方案 应该是类似于起一个shell,然后要求你切换到root,然后再执行程序,程序退出之后,shell也退出 解决方案二: http://www.lupaworld.com/article-223530-1.html 解决方案三: 获取用户的权限,看看 对于当前用户的程序权限是否足够,不够的话就弹出对话框,要求输入密码

linux下监控网络流量的脚本_linux shell

我看了下,linux下的/proc/net/dev记录了每块网卡发送和接受的包和字节数.因此萌生想法,写了一个.运行效果: 复制代码 代码如下: [root@74-82-173-217 ~]# ./net.sh Current Ip: inet addr:74.82.173.217 Bcast:74.82.173.223 Mask:255.255.255.224 Summry info: RX bytes:203692709 (194.2 MiB) TX bytes:93525930 (89.1

Linux下常用的shell命令记录

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu                   #查看的是

linux下修改用户的工具介绍第1/2页_unix linux

1.chfn 修改用户信息工具: chfn 这个工具主要是用来改用户的全名,办公室地址,电话之类的:用法如下: chfn [ -f full-name ] [ -o office ] [ -p office-phone ] [ -h home-phone ] [ -u ] [ -v ] [ username ] 最简单的方法是 chfn 用户名 [root@localhost ~]# chfn beinanlinux 注:更改用户beinanlinux的信息: Changing finger i