centos监控web目录www下的文件是否被黑、挂马的脚本

、检查是否有安装inotify

rpm -qa inotify-tools

2、没有先安装epol源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

3、安装

yum install inotify-tools -y

4、脚本

#!/bin/bash

CHECKDIR="/root/test"    #监控目录路径
LOG="/root/tmp/inot.log"        #日志存放路径

function CheckDir {
    inotifywait -mrq --timefmt ‘%y-%m-%d %H:%M‘  --format ‘%T %f %e‘ -e ‘create,delete,modify,moved_to‘ $CHECKDIR|while read event
    do
        INO_TIME=$(echo $event | awk ‘{print $1,$2}‘)        # 把inotify输出切割 把时间部分赋值给INO_TIME
        INO_FILE=$(echo $event | awk ‘{print $3}‘)          # 把inotify输出切割 把文件路径部分赋值给INO_FILE
        INO_EVENT=$(echo $event | awk ‘{print $4}‘)         # 把inotify输出切割 把事件类型部分赋值给INO_EVENT        

        if [[ $INO_EVENT = ‘CREATE‘ ]] && [[ $INO_FILE != .* ]];then        # 判断事件类型(create)
            echo "`date ‘+%Y-%m-%d %H:%M‘` create file: $INO_FILE" >> $LOG
        elif [[ $INO_EVENT = ‘CREATE,ISDIR‘ ]];then
            echo "`date ‘+%Y-%m-%d %H:%M‘` create dir: $INO_FILE" >> $LOG
        fi

        if [[ $INO_EVENT = ‘DELETE‘ ]] && [[ $INO_FILE != .* ]];then        # 判断事件类型(delete)
            echo "`date ‘+%Y-%m-%d %H:%M‘` delete file: $INO_FILE" >> $LOG
        elif [[ $INO_EVENT = ‘DELETE,ISDIR‘ ]];then
            echo "`date ‘+%Y-%m-%d %H:%M‘` delete dir: $INO_FILE" >> $LOG
        fi

        if [[ $INO_EVENT = ‘MODIFY‘ ]] && [[ $INO_FILE != .* ]];then        # 判断事件类型(modify)
            echo "`date ‘+%Y-%m-%d %H:%M‘` modify file: $INO_FILE" >> $LOG
        fi

    done
}

CheckDir

5、运行脚本

1)测试: ./monitor.sh
2) 后台运行 nohup ./monitor.sh

原文地址:https://www.cnblogs.com/xiami2046/p/12665729.html

时间: 2024-10-13 02:05:34

centos监控web目录www下的文件是否被黑、挂马的脚本的相关文章

[Erl_Question06]在Erlang shell怎么在目录A下编译目录B下的文件,并把生成文件统一放置目录C?

问题描述: 我们想快速测试一个小功能,第一个反应就是打开Erl shell 直接输入,但是当想测试一个复杂的函数时,一般会写成一个*.erl文件,然后在shell下: cd(FileDir). c(FileName). 每次都为一个小功能设置FileDir,好烦! 解决方法: 方法1 .  在erlang工作目录[在erl shell中运行pwd()显示的目录]建立一个.erlang文件,输入: io:format("changing work path~n"). cd("你

c# 根据读取的配置信息删除某个目录及下所有文件

#region 定时删除目录文件 /// <summary> /// 定时删除目录文件 /// northeasttycoon /// </summary> /// <param name="strParaTime">根据参数删除定义为int类型变量为宜</param> public void DeleteRecFiles(string strParaTime) { // 获得文件路径 string path = Path.Combine

centos 7.0 查看根目录下所有文件夹

centos 7.0最小化安装 第一行是登录 [[email protected] ~]# [[email protected] ~]# cd ../ [[email protected] /]# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr 跟磁盘文件对比 [[email protected] /]# df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/

多目录下多文件 makefile编写

前面已经分享了单目录项下多文件的makefile的编写,现在来看看多目录下多文件makefile的编写: 在做项目时,一般文件都会分几个目录来存放:基本的是  include/  bin/ src/ obj/ lib/ tools/,这几个文件:我先说下我的文件存放目录,用ls -R可以查看到所有文件:./include/common.h    ./src/main.c    ./src/printStatus.c  就三个文件,其中*.c 文件都依赖于 *.h文件: 同样的先上第一版makef

shell获取目录下所有文件夹的名称并输出

获取指定目录/usr/下所有文件夹的名称并输出: shell代码: 1 #!/bin/bash 2 #方法一 3 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') 4 for i in $dir 5 do 6 echo $i 7 done 8 ####### 9 #方法二 10 for dir in $(ls /usr/) 11 do 12 [ -d $dir ] && echo $dir 13 done 14 ##方法三 15 16 ls -l /us

监控web站点目录下所有文件是否被恶意篡改

监控web站点目录下所有文件是否被恶意篡改,(文件内容被改了)如果有的就打印改动的文件名 定时任务:每三分钟执行一次监测一次 文件被篡改的特征: 大小可能会变化(为什么说可能呢,如果把里面的值1改为2大小是不会变化的) 修改时间会变化   (文件测试符ot,nt) 文件内容会变化,通过md5sum指纹判断 增加或者删除文件 问题: 代码发布方案:大公司或规范的公司,不会时刻传代码,每天1-2次 脚本不严谨啊,工作中先解决文件,然后在解决好问题 #!/bin/sh num=`cat site.lo

java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开始的思路 设置一个定时任务,每隔一分钟读取下指定目录下的文件变化,如果有满足格式的文件,就进行解析. 这种方式很繁琐,而且效率低,效率都消耗在了遍历.保存状态.对比状态上了! 而且无法利用OS的很多功能. 二. WatchService介绍 1. 该类的对象就是操作系统原生的文件系统监控器!我们都知

Centos下SVN安装以及同步到web目录

一.安装 Yum –y install subversion 建立版本库目录 Mkdir –p /mnt/svn 建立svn库 Svnadmin create /mnt/svn/delieato 启动svn: Svnserve –d –r /mnt/svn 二.配置库 针对每一个库,其conf目录下有三个配置文件(authz.passwd.svnserve.conf) 1.  authz,设置用户组和用户权限 [group] smsyun = ddl,shl //创建一个smsyun的组,并制定

linux 系统监控某目录下文件及文件夹的变化

inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [[email protected]Oracle ~]# uname -r 2.6.32-220.el6.i686 安装inotify-tools yum install -y inotify-tools 测试监控/etc,inotifywait -m /etc 用putty连接服务器,开启另一个终端,用vim编辑/etc/passwd时,另一个终端显示对应的监控信息