首页 > 其他分享 >谁动了我的服务器

谁动了我的服务器

时间:2023-09-25 09:23:09浏览次数:30  
标签:log script -- 谁动 服务器 root localhost UID

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 [root@localhost ~]# mkdir /var/log/script
1 #最好给个777的权限,我用744的权限反正也生效
1 [root@localhost ~]# chmod 777 /var/log/script/

2.4 使环境生效

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

3、验证

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

复制代码
[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”,不要颠倒了。

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

标签:log,script,--,谁动,服务器,root,localhost,UID
From: https://www.cnblogs.com/xxllx/p/17727147.html

相关文章

  • 服务器Docker搭建CUDA10.2+PaddleDetection2.4.2-GPU环境
    1、容器建立由于目标服务器的显卡版本较老,CUDA只支持到10.2,所以需要选用老版本Docker镜像,百度网盘链接:https://pan.baidu.com/s/1GiQzWRypaeBNFWETWFAV-Q?pwd=5f12 使用命令将镜像启动为容器:dockerrun--namenvidia-cuda10.2-cudnn7-1-p9001:22-p9002:8002-v/work/nod......
  • 华为云云耀云服务器L实例评测|伪分布式环境下部署hadoop2.10.1
    文章目录前言云耀云服务器L实例简介Hadoop简介一、配置环境购买云耀云服务器L实例查看云耀云服务器L实例状态重置密码查看弹性公网IP地址FinalShell连接服务器二、搭建Hadoop单机版本详细安装步骤如下:我们先开始配置java环境hadoop2.x接下来需要利用vim来操作core-site和hdfs-si......
  • ansible教程:使用win_shell和win_copy从 HTTP 文件服务器下载文件并将其复制到目标位置
    with_fileglob参数无法直接指定HTTP文件服务器上的文件路径。它是用于在本地文件系统中进行文件的模式匹配,并将匹配的文件作为迭代项来执行任务。如果你需要从HTTP文件服务器上下载文件并将其复制到目标位置,你可以使用适当的工具或库来实现这个任务。下面是一个示例,使用curl......
  • socks5代理服务器是什么?用什么检查socks5代理的效果行不行?
    随着互联网技术和科技的发展,在上网的时候使用代理ip的使用人数也越来越多,因为业务的需求需要使用socks5代理ip的应用范围越来越多,那么什么是socks5代理服务器?怎么检查socks5代理的效果好不好?接下来小编就给大家介绍一下:socks5代理服务器是什么意思某度解释是:采用socks协议的代理服......
  • Jmeter 监控服务器插件 ServerAgent,修改默认启动端口
    1、ServerAgent监控文件上传到Linux解压启动,sh startAgent.sh Jmeter启动监控,监控4444端口的服务器资源  2、修改startAgent.sh默认的端口 启动startAgent.sh Jmeter修改监控端口,启动查看数据 注意:Window修改和Linux一模一样的,只不过Window修改的是 startAg......
  • centos apache 如何在CentOS操作系统上搭建ApacheWeb服务器??
    在今天的互联网时代sogoupinyinlinux,Web服务器已经成为了企业和个人建立网站的重要基础设施之一。而在众多的Web服务器软件中,Apache绝对是最受欢迎和广泛使用的开源Web服务器之一。而在CentOS操作系统上搭建Apache服务器,不仅可以提供高效的性能和稳定性,还可以免费获得高质量的技......
  • CentOS服务器安装教程:轻松配置个人电脑
    在现代化的互联网时代,服务器已经成为了我们生活和工作中必不可少的一部分。而CentOS作为一种开源的操作系统,也越来越受到人们的青睐。本文将向大家详细介绍如何在自己的电脑上轻松地安装和配置CentOS服务器。第一步:准备工作在正式开始安装CentOS之前,我们需要准备好以下物品:1.一......
  • portswigger——服务器端模板注入(SSTI)
    什么是服务器端模板注入?服务器端模板注入是指攻击者能够使用本机模板语法将恶意负载注入模板,然后在服务器端执行。模板引擎旨在通过将固定模板与易失性数据相结合来生成网页。当用户输入直接连接到模板中,而不是作为数据传入时,可能会发生服务器端模板注入攻击。这允许攻击者注入......
  • SVN服务器安装与常用操作(超详细)
    SVN服务器安装与常用操作(超详细)服务器1、下载SVN服务器,地址:http://subversion.apache.org/packages.html进入网址后,滚动到浏览器最底部看到如下截图:  点击,下载 2、在服务器把下载的VisualSVNserver双击安装,文件名:(VisualSVN-Server-4.3.3-x64.msi) 3、点击Next 选择......
  • rocky8 服务器的时区设置为“上海”
    timedatectlset-timezoneAsia/Shanghai查看当前的系统时区首先查看当前的系统时区,确认系统时区执行date命令。也可以使用timedatectlstatus命令查看当前的系统时区。timedatectl命令指定”set-timezone”选项可修改系统时区,将时区设定为“Asia/Shanghai”时,执行 “ti......