#!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. LYXF-PE-tools

    先随便说一下这个PE-tools有什么用? 我开发这款PE-tools是为了学习而开发的,且是开源的,这里我会提供源码链接.它可以解析windows 32/64位程序中比较常用的一些属性. 里面有个稍 ...

  2. Linux find过滤掉没有查看权限的文件

    参考:https://blog.csdn.net/sinat_39416814/article/details/84993424 https://www.jianshu.com/p/2b056e1c0 ...

  3. DELPHI FMX 获取系统版本 ANDROID IOS通用

    引用System.sysutils function getOSInfo:String; begin result:= fomrat('%s:%d.%d', TOSVersion.Name,TOSVe ...

  4. Django2 + ORM 做一个简单的登陆

    . ├── db.sqlite3 ├── manage.py ├── myormLogin │   ├── __init__.py │   ├── __pycache__ │   │   ├── __ ...

  5. CSS中属性百分比的基准点

    1.属性百分比的基准点 1.1.基于包含块 以下的关于包含块(含块)的概念,不能简单地理解成是父元素. 如果是静态定位和相对定位,包含块一般就是其父元素.但是对于绝对定位的元素,包含块应该是离它最近的 ...

  6. 用java实现文件的断点续传并发下载

    需求: 支持文件批量下载.现在有很多小图片需要批量下载,不希望在服务器打包下载. 支持大文件断点下载.比如下载10G的文件. PC端全平台支持.Windows,macOS,Linux 全浏览器支持.i ...

  7. Git错误总结

    1.error: failed to push some refs to ‘git@github.com:XXXX/XXXX‘ hint: Updates were rejected because ...

  8. 学习使用Delphi for android 调用Java类库

    http://blog.csdn.net/laorenshen/article/details/41148253 学习使用Delphi for android 调用Java类库 2014-11-15 ...

  9. Vagrant 入门 - 清理(teardown)

    原文地址 我们现在有一个功能齐全的虚拟机,可以用于基本 Web 开发.但如果现在需要更换设备,或者在另一个项目上工作,如何清理我们的开发环境? 借助 Vagrant,可以暂停(suspend),停止( ...

  10. 16/8/23-jQuery子调用匿名函数

    通过创建一个自调用匿名函数,创建一个特殊的函数作用域,该作用域中的代码不会和已有的同名函数.方法和变量以及第三方库冲突. 自调用匿名函数写法 方法一: (function(){ //... })(); ...