#!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. Conservation Vs Non-conservation Forms of conservation Equations

    What does it mean? The reason they are conservative or non-conservative has to do with the splitting ...

  2. centos启动提示unexpected inconsistency RUN fsck MANUALLY

    今天一台虚拟机背后的物理机故障了,主机迁移后变成了 read only filesystem.上面部署了很多长连接服务,没有关掉就直接reboot,报错: unexpected inconsisten ...

  3. [洛谷P2661] NOIP2015 信息传递

    问题描述 有 n 个同学(编号为 1 到 n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 Ti 的同学. 游戏开始时,每人都只知道 ...

  4. python学习笔记(十七)flask模块写接口

    import flask,json from tools import op_mysql #op_mysql() # 接口,后台服务 server = flask.Flask(__name__) #把 ...

  5. URL跳转漏洞

    URL跳转原理: 由于越来越多的需要和其他第三方应用交互,以及在自身应用内部根据不同的逻辑将用户引向到不同的页面,譬如一个典型的登录接口就经常需要在认证成功之后将用户引导到登录之前的页面,整个过程中如 ...

  6. JavaScript 常用的技术(陆续更新)

    截取字符串(指定长度) var str = "abc-110001"; //str.substring(起始位置(0开始),截取的长度) str.substring(0,4); / ...

  7. HDU 1003 解题报告

    问题描述:求最大连续字串 分析:一道简单的DP,状态转移方程是d[i] = ( d[i-1]+a[i] > a[i] ) ? d[i-1]+a[i] : a[i] d[i]表示以第i个数字结尾的 ...

  8. Jsoup获取DOM元素

    (1)doc.getElementsByTag(String tagName); (2)doc.getElementById(String id); (3)doc.getElementsByClass ...

  9. Vue作用域插槽:用作循环结构的模版

    一 项目结构 二 App组件 <template> <div id="app"> <!-- 子组件 --> <todos :list=&q ...

  10. cts测试流程

    测试目的: 用于检测你做的Android系统是否满足兼容性要求,通俗点说,Google认为Android系统应该满足的条件,你需要满足. 例如框架层暴露给应用层的某些接口,Google认为你因该有,那 ...