1、前言

我们在实际工作当中,都碰到过误操作、误删除、误修改过配置文件等等事件。对于没有堡垒机的公司来说,要在linux系统上深究到底谁做过配置文件的修改、做过误删除是很头疼的事情,特别是遇到删库跑路的事件,更头大了。当然你可以通过history来查看历史命令记录,如果把history记录涂抹掉了,是不是啥也看不到了,如果你想查看在某个时间段到底是谁通过vim编辑过某个文件呢?

那么,有什么办法可以看见这些操作呢,答案是一定有的,具体怎么实现呢,linux script命令正有如此强大的功能,可以满足我们的需求,script可以记录终端会话,只要是linux6.3以上的系统,都会自带script命令,下面我用centos 7系统来测试一下。

2、配置

2.1 验证script命令(我这里是有的)

1
2
[root@localhost ~]# which script
/usr/bin/script

2.2 配置profile文件,在末尾添加如下内容:

1
2
3
4
5
[root@localhost ~]# vim /etc/profile
if [ $UID -ge 0 ]; then
        exec /usr/bin/script -t 2>/var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /var/log/script/$USER-$UID-`date +%Y%m%d%H%M`.log
fi

参数:
    -t    指明输出录制的时间数据
    -f     如果需要在输出到日志文件的同时,也可以查看日志文件的内容,可以使用 -f 参数。PS:可以用于教学,两个命令行接-f可以实时演示
    -a     输出录制的文件,在现有内容上追加新的内容
    -q     可以使script命令以静默模式运行

如下图所示:

说明:

用户登录执行的操作都会记录到/var/log/script/*.log  里(保存日志的目录根据你自己定义),我们可以通过more、vi等命令查看目录里的日志。

注意:

  • 我这里把用户ID大于0的都记录下来了,你可以重新登录用户,随便操作一些命令,查看生成的文件。

  • root用户的ID为0,新建普通用户的UID是从500开始的(通过cat /etc/password可以查看用户的UID),如果你不想记录root用户的操作,你把if里面的值改成500:  if [ $UID - ge 500 ];

2.3 创建目录、赋予权限

你是不是以为写了这条if语句在/etc/profile文件中就完事了,目录都没创建呢:

1
2
3
4
[root@localhost ~]# mkdir /var/log/script
#最好给个777的权限,我用744的权限反正也生效
[root@localhost ~]# chmod 777 /var/log/script/

2.4 使环境生效

1
[root@localhost ~]# source  /etc/profile

3、验证

好了,你可以退出linux终端,在重新登录一下,然后随便敲几个命令来看看。

1
2
3
4
5
6
7
[root@localhost ~]# cd /var/log/script/
[root@localhost script]# ll
total 16
-rw-r--r-- 1 root root   68 Dec 22 15:46 root-0-201712221545.date
-rw-r--r-- 1 root root  111 Dec 22 15:46 root-0-201712221545.log
-rw-r--r-- 1 root root    0 Dec 22 15:46 root-0-201712221546.date
-rw-r--r-- 1 root root 5693 Dec 22 15:46 root-0-201712221546.log

从上图可以看到,在/var/log/script目录中,已经产生了log和data为后缀的文件,并且还看到了root用户和UID号0。

.log:记录了操作

.data:可以回放操作

我们用scriptreplay来回放一下操作,看下效果如何:

1
[root@localhost script]# scriptreplay root-0-201712221545.date root-0-201712221545.log

注意:先指定“时间文件 .data”,然后是“命令文件 .log”,不要颠倒了。

以上就完也了记录用户的所有操作,并且还可以随时查看,相当于有回放功能,像录像一样,以后定位是谁的问题就好找原因了。

本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/2053636,如需转载请自行联系原作者

linux系统监控:记录用户操作轨迹,谁动过服务器相关推荐

  1. Linux记录用户操作日志

    前言 我这里计划用SLS做服务器日志审计,安装Logtail后通过 [分隔符-文本] 的方式,采集服务器各种相关日志,大概需要以下内容(目录可能是错的,这个是做等保的评测的兄弟发过来的) /var/l ...

  2. linux 系统监控、诊断工具之 IO wait

    1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...

  3. spring boot项目怎么记录用户操作行为和登录时间_6 个 Github 项目拿下 Spring Boot

    经常浏览技术社区.技术公众号的读者会有一个感受,那么就是 Spring Boot 相关的文章和相关咨询越来越多.包括小逛和技术公众号的博主交流,他们也发现推送 Spring Boot 相关的文章阅读量 ...

  4. linux系统监控命令汇总

    零.Linux系统监控命令速查手册 命令 功能应用 用法举例     free 查看内存使用情况,包括物理内存和虚拟内存 free -h或free -m     vmstat 对系统的整体情况进行统计 ...

  5. Zabbix 系统监控(二)Linux 系统监控

    windows 系统硬件信息获取. linux 系统监控. linux 系统硬件信息获取 5 windows 系统硬件信息获取 本文通过在 OS 操作系统层面上,主要获取 windows 服务器下 C ...

  6. Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈

    的性能有问题,总之,每到晚上挖站否的主机就出现了不稳定的情况,系统负载忽高忽低.利用服务器日志分析利器:ngxtop和GoAccess也能查出有一些IP一直在不断地扫描服务器端口还有WP后台. 但是, ...

  7. LINUX系统中的用户和用户组管理(一)【转】

    本文转载于https://www.cnblogs.com/zhongguiyao/p/9165917.html 一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及 ...

  8. 6. Linux系统监控神器--Collectl

    Linux系统监控神器--Collectl 摘要: 系统资源监控 为使系统良好运转,Linux系统管理员经常需要监测cpu,内存,磁盘,网络等系统信息.Linux上已有iotop,top,free,h ...

  9. linux 程序返回值 139,Linux系统监控之ssh登陆自动139邮件短信提醒

    linux系统监控之ssh登陆自动139邮件短信提醒 Linux系统监控非常重要,互联网的网络的安全是一个非常重要的问题,很多时候,我们会出于安全考虑,希望服务器在有用户通过ssh登陆时能自动向管理员 ...

最新文章

  1. java hibernate错误org/dom4j/DocumentException、org/jboss/logging/BasicLogger、org/apache/lucene/index...
  2. 自动化运维工具 Ansible
  3. python学习-模块和包
  4. 动手学CV-目标检测入门教程4:模型结构
  5. mysql修改字段结构_MySQL修改表结构及其添加删除修改字段功能
  6. xpose修改手机imei码,注入广告
  7. jQuery 前后端分离项目总结
  8. w ndows7如何清理垃圾,Win7系统清理:如何清理Win7系统盘垃圾
  9. p2p文件服务器,P2P文件传输
  10. 英语cowbezoar牛黄CowBezoar单词
  11. 星星之火-28:什么是CDMA的远近效应与功率控制?
  12. java object 是否为null,java – 为什么cast(Object)null结果为null?
  13. 基于Echarts实现可视化数据大屏交通类大数据展示页面模板
  14. 计算机网络——IPV6基础知识
  15. 关于QT源代码文件的归类
  16. 【技术分享】迅为i.MX6ULL开发板-Uboot-Logo修改方法
  17. Ubuntu系统安装LAMP应用Discuz 建设论坛网站
  18. 【数据库】实验4:触发器实验
  19. 道格拉斯-普克抽稀算法
  20. 测试用例设计-支付功能

热门文章

  1. 中国金刚石线行业“十四五规划”与未来产销需求预测报告2021-2027年
  2. SQL旁注精华珍藏版代码
  3. 济南长清区谋定特色展销中心 对话中国农民丰收节交易会
  4. Gradle 学习二
  5. layui对json数据的格式要求
  6. React项目开发中的数据管理
  7. LeetCode Design TinyURL
  8. HDU 5119 Happy Matt Friends(DP || 高斯消元)
  9. SFIM起航——源于无聊
  10. Windows Service:用C#创建Windows Service