#!bin/bash
#功能:根据 md5 校验码,检测文件是否被修改
#作者:liusingbon
#本示例脚本检测的是/etc 目录下所有的 conf 结尾的文件,根据实际情况,您可以修改为其他目录或文件
#在目标数据没有被修改时执行一次脚本,当怀疑数据被人篡改,再执行一次;将两次执行的结果做对比,MD5 码发生改变的文件,就是被人篡改的文件
for i in  $(ls /etc/*.conf)
do
    md5sum "$i" >> /var/log/conf_file.log
done

比如:执行脚本前,先查看下md5校验码,如果怀疑数据被篡改,再执行一次脚本,比对md5校验码是否有变化:

[root@client ~]# cat /var/log/conf_file.log
cb74fedd10be5db16f6ff2353181d58d  /etc/chrony.conf
649f5bf7c0c766969e40b54949a06866  /etc/dracut.conf
7ee18e3a79c3f2aba431e5e044dfc37f  /etc/e2fsck.conf
72daece0832454d1e46fa1dead8590da  /etc/GeoIP.conf
4eb63731c9f5e30903ac4fc07a7fe3d6  /etc/host.conf
b8d3e9f412e116fb93b9047f5fef9f37  /etc/krb5.conf
cb878ee72257736aafffff720130ca9c  /etc/ld.so.conf
121c7f429126e65574656fb0fbc37e78  /etc/lftp.conf
cdc703f9d27f0d980271a9e95d0f18b2  /etc/libaudit.conf
6bd2bb550f448cb81c6f0cbf806b936f  /etc/libuser.conf
164aba1ef1298affaa58761647f2ceba  /etc/locale.conf
4b32bbe6d2d20a1f3150b0fb3918ae54  /etc/logrotate.conf
ee665f08e63e1942b56ada46d25b9e3f  /etc/man_db.conf
b3fa4684455e14b66015af02a24d7c96  /etc/mke2fs.conf
643b68a0994aa69649e5b3f13dcf5635  /etc/nsswitch.conf
e5ef4c8f4837c1d833cf644100abe369  /etc/resolv.conf
c63fccb45c0dcbbbe17d0f4bdba920ec  /etc/rsyncd.conf
0dd94a0c285fb32f41fa5b226e83c26b  /etc/rsyslog.conf
8f42efd9d1efe717f27267e6a4286453  /etc/sestatus.conf
5d796b9d28e62cecda9df8ffbfb2f962  /etc/sudo.conf
60eac7835f1d36c4ffdcb401a84c3e6c  /etc/sudo-ldap.conf
324c073ebf5a4811bf7fd5610f170350  /etc/sysctl.conf
839ba642d4de3d2115db7170bd0b6cba  /etc/tcsd.conf
2a6ece5145eb8d37d2ea2f5811ff9351  /etc/updatedb.conf
bde42c1da4093344b653743c5cdb463d  /etc/vconsole.conf
a8082a894410bece6b9290e8116a9e79  /etc/whois.conf
a7dc0d7b8902e9c8c096c93eb431d19e  /etc/yum.conf

脚本_根据 md5 校验码,检测文件是否被修改的更多相关文章

  1. 030_根据 md5 校验码,检测文件是否被修改

    #!/bin/bash#本示例脚本检测的是/etc 目录下所有的 conf 结尾的文件,根据实际情况,可以修改为其他目录或文件#本脚本在目标数据没有被修改时执行一次,当怀疑数据被人篡改,再执行一次#将 ...

  2. C# 获取文件MD5校验码

    using System; using System.IO; using System.Security.Cryptography; using System.Text; public class M ...

  3. Java 获取 文件md5校验码

    讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个 ...

  4. Android MD5校验码的生成与算法实现

    在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数.然后将此 128 位计 ...

  5. java生成MD5校验码

    在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数.然后将此 128 位计 ...

  6. linux 文件 md5校验

    为解决官方发布的软件包被别人更改或者软件在传输过程中出现传输错误等问题,软件官方在提供软件包的同时,还提供一个保存MD5校验码的文件. Linux/unix中可以使用命令 # md5sum 文件名 方 ...

  7. Java 自带MD5 校验文件

    http://www.iteye.com/topic/1127319 前天第一次发表博客到论坛,关于Java文件监控一文,帖子地址在:http://www.iteye.com/topic/112728 ...

  8. md5和SHA校验码

    md5已经不安全了,中国山东大学女学霸王小云破解了一系列密码,当真是巾帼不让须眉.说是破解,其实就是给你一个md5码,让你求出这个md5码所对应的原始信息,显然一个md5对应无数种原始信息.而md5的 ...

  9. MD5校验

    好久没有写随笔了,正好这两天可以休整一下,借此机会总结下最近使用python的小体会. 个人体会文件校验在下载文件时使用较多,在linux下最简单的实现方式就是: 1 $ md5sum filenam ...

随机推荐

  1. Python配置模块:configparser参数含义

    https://blog.csdn.net/CoderPai/article/details/80420698

  2. tuple拆包操作

    """ tuple 是不可变对象 """ user_tuple = ('admin', 18, "cd", " ...

  3. action function

    Action委托具有Action<T>.Action<T1,T2>.Action<T1,T2,T3>……Action<T1,……T16>多达16个的重载 ...

  4. 字符串(二):string

    字符串使用方法整理 系列: 字符串(一):char 数组 字符串(二):string string 是 C++ STL 的一个字符串类型,原型是 vector<char> 并对字符串处理做 ...

  5. [CSP-S模拟测试]:周(week)(搜索)

    题目描述 退役之后,$liu\_runda$总会想起学$OI$的时候自己怎样被郭神虐爆……$liu\_runda$学文化课的时候想要学$OI$,学$OI$的时候想要学文化课.为了解决矛盾,他决定以周为 ...

  6. Charles抓取https

    步骤一:将Charles的根证书(Charles Root Certificates)安装到Mac上. Help -> SSL Proxying -> Install Charles Ro ...

  7. eureka注册中心wro.css wro.js 404

    注册中心和配置中心放在一个module里面,如果不配置配种中心的访问前缀,会被config拦截.所以改动如下: package com.cloud.stagging.lhcloudeureka; im ...

  8. P1982小朋友的数字

    传送 手疼qwq 翻译一下题面.就是说,给n个数,第i个数(包括第i个)以及之前的数构成的最大子段和是i的特征值,i以前(不包括i)的数中最大的分数j+特征值j是i的分数,求所有人中的最大分数. (好 ...

  9. React Hooks简单业务场景实战(非源码解读)

    前言 React Hooks 是React 16.7.0-alpha 版本推出的新特性.从 16.8.0 开始,React更稳定的支持了这一新特性. 它可以让你在不编写 class 的情况下使用 st ...

  10. 设计模式 - 门面模式(Facade Pattern,也叫外观模式)

    简介 场景 将系统划分为若干个子系统有利于降低系统的复杂性,但是这会增加调用者的复杂性.通过引入 Facade 可以对调用者屏蔽系统内部子系统的细节. Java 中有多个日志库,例如 log4j.lo ...