今天发现个可以检测系统文件完整性的shell脚本,自己试了下还可以吧,介绍给大家。

系统:centos 5.x

脚本内容:

cat my_filecheck.sh

#!/bin/bash

#

# 变量首先声明才能使用

shopt -s -o nounset

# 声明

# 建立日期

Date=$(date +‘%Y%m%d%H%M%S‘)

# 加入审核的目录         #

Dirs="/bin /sbin /usr/bin /usr/sbin /lib /usr/local/sbin /usr/local/bin /usr/local/lib"

# 临时文件               #

TMP_file=$(mktemp /tmp/check.XXXXXX)

# 文件checksum存储文件

FP="/root/fp.$Date.chksum"

# 使用哪种checksum工具

Checker="/usr/bin/md5sum"

Find="/usr/bin/find"

# 函数区                #

scan_file() {

local f

for f in $Dirs

do

$Find $f -type f >> $TMP_file

done

}

# 读取文件建立每个文件的checksum值

cr_checksum_list() {

local f

if [ -f $TMP_file ]; then

for f in $(cat $TMP_file);

do

$Checker $f >> $FP

done

fi

}

rmTMP() {

[ -f $TMP_file ] && rm -rf $TMP_file

}

# 主程序区

# 扫描列表

scan_file

# 建立文件的checksum值

cr_checksum_list

# 清理临时文件

rmTMP

执行脚本:

./my_filecheck.sh

进行校验:

md5sum  -c fp.20141205160628.chksum

如下:

md5sum -c fp.20141209202544.chksum

/bin/gawk: OK

/bin/igawk: OK

/bin/ln: OK

/bin/loadkeys: OK

/bin/gzip: OK

/bin/mkdir: OK

/bin/date: OK

/bin/cat: OK

/bin/mountpoint: OK

/bin/taskset: OK

/bin/umount: OK

/bin/mount: OK

/bin/doexec: OK

/bin/kill: OK

/bin/sync: OK

/bin/unicode_start: OK

/bin/usleep: OK

/bin/mknod: OK

/bin/setserial: OK

/bin/cp: OK

/bin/mktemp: OK

/bin/setfont: OK

/bin/unicode_stop: OK

.....

/lib/modules/2.6.18-194.el5PAE/kernel/crypto/cast5.ko: OK

/lib/modules/2.6.18-194.el5PAE/kernel/crypto/crypto_blkcipher.ko: OK

/lib/modules/2.6.18-194.el5PAE/kernel/crypto/twofish.ko: OK

/lib/modules/2.6.18-194.el5PAE/kernel/crypto/authenc.ko: OK

/lib/modules/2.6.18-194.el5PAE/kernel/crypto/cbc.ko: OK

/lib/modules/2.6.18-194.el5PAE/kernel/crypto/crypto_hash.ko: OK

/lib/modules/2.6.18-194.el5PAE/kernel/crypto/seqiv.ko: OK

/lib/libproc-3.2.7.so: OK

/lib/libacl.so.1.1.0: OK

/lib/libauparse.so.0.0.0: OK

/lib/libdmraid.so.1.0.0.rc13-17: OK

/lib/libvolume_id.so.0.66.0: OK

/lib/libgobject-2.0.so.0.1200.3: OK

/lib/libnss_compat-2.5.so: OK

/lib/rtkaio/i686/nosegneg/librtkaio-2.5.so: OK

/lib/rtkaio/librtkaio-2.5.so: OK

/lib/libdmraid-events-isw.so.1.0.0.rc13: OK

/lib/libdevmapper-event-lvm2snapshot.so.2.02: OK

/lib/libblkid.so.1.0: OK

/lib/libdb-4.3.so: OK

/lib/libSegFault.so: OK

/lib/libiw.so.28: OK

/lib/libdmraid-events-isw.so.1.0.0.rc13-17: OK

可以看到很多OK.

如果只想看到错误的话,可以用下面这个命令:

md5sum -c fp.20141209202544.chksum |grep -v "OK"

我的系统没有报错的,所以没有办法给大家结果.

原文:http://www.jb51.net/article/58773.htm

linux如何检测文件完整,shell脚本实现linux系统文件完整性检测相关推荐

  1. linux 查看gz文件,【shell 脚本】查看*.gz 文件的内容

    #!/bin/bash # zmore #使用'more'来查看gzip文件 NOARGS=65 NOTFOUND=66 NOTGZIP=67 if [ $# -eq 0 ] # 与if [ -z & ...

  2. Shell脚本对Linux进行文件校验

    Shell脚本对Linux进行文件校验 一.需求 有客户等保需求对文件一致性进行校验,想到利用md5sum工具,因此写脚本来对文件进行自定义扫描,后期可以利用其进行校验,快速校验文件发现变更的文件,一 ...

  3. linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...

    读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...

  4. Linux 之旅 10:Shell 脚本

    Linux 之旅 10:Shell 脚本 (图片来自shell/bash脚本编程) Linux 上的 Shell 脚本可以看做是类似于Windows上的批处理程序(.bat)一样的东西,其本质就是将一 ...

  5. 服务器状态监控php源码,服务器状态监控_监控Linux服务器网站状态的SHELL脚本

    摘要 腾兴网为您分享:监控Linux服务器网站状态的SHELL脚本,蜗牛集市,同花顺,探客宝,手柄助手等软件知识,以及日期倒计时插件,云南省教育资源公共,rui手机桌面,小屁孩桌面便签,合金装备崛起复 ...

  6. Linux系统一键安全加固shell脚本编写思路

    本次分享一下个人在对Linux系统一键安全加固shell脚本编写时的一些思路: Linux系统一键安全加固shell脚本编写思路 1.编写须知 1.1 脚本使用说明 1.2 主要功能说明: 1.3隐藏 ...

  7. 视频教程-Linux shell脚本习题-Linux

    Linux shell脚本习题 阿铭,前腾讯运维工程师. 1.职业历程:先后就职于康盛.腾讯.好贷,从基础运维做到运维经理,从月薪3k到年薪40w+. 2.培训经历:11年为女友编写电子版linux入 ...

  8. shell信息查看脚本linux,每次登录Shell时使用shell脚本查看Linux上的系统信息

    每次登录Shell时使用shell脚本查看Linux上的系统信息 Linux中有几个命令可以获取系统信息,例如处理器信息,制造商名称和序列号等. 您可能需要运行几个命令来收集此信息. 此外,很难记住所 ...

  9. linux cc脚本,Linux运维知识之Linux简单处理CC攻击shell脚本

    本文主要向大家介绍了Linux运维知识之Linux简单处理CC攻击shell脚本,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 第一个脚本是通过查找日志中访问次数过多的ip,并 ...

  10. Linux服务器监控cpu数据shell脚本

    Linux服务器监控cpu数据shell脚本 背景: 一种简易的监控进程的CPU.内存.线程数.句柄数的办法,使用shell脚本实现监控,Excel实现数据分析. #!/bin/bash#过滤出需要的 ...

最新文章

  1. 访问centos端口
  2. 世上最详细的子网划分教程,看完保证会
  3. 斯坦福机器学习公开课学习笔记(3)—拟合问题以及局部权重回归、逻辑回归
  4. 【杂谈】白身,初识,不惑,有识,不可知,你处于深度学习工程师哪一重境界了...
  5. JAVA基础学习日记-----持续更新
  6. C++从0到1的入门级教学(二)——数据类型
  7. 西安交大计算机考研分数线2020院线,西安交通大学2020考研复试分数线已公布
  8. 计算机台式右上角三个灯作用,键盘右上角的三个灯是什么?有什么用
  9. 磨刀不误砍柴工,使用visual studio之前应该先了解这些...
  10. C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)...
  11. Python实现康威生命游戏
  12. Linux--Ubuntu的使用
  13. C语言中圆的周长怎么算,圆的周长公式 周长怎么算出来的
  14. 泰勒展开式求sinx近似值
  15. 青春是一场不失不忘的期许
  16. MATLAB基础学习
  17. 我国OLED技术和OLED显示屏的发展历程
  18. Python 数据分析微专业课程--项目06 城市餐饮店铺选址分析
  19. 堆、栈的概念及使用特性
  20. Navicat如何导出数据字典

热门文章

  1. 机器学习笔记(二)——元学习
  2. 字符串hash(类似于进制的hash)
  3. 【ARC083E】Bichrome Tree
  4. opensuse安装Tomcat碰到的问题
  5. Goldengate进程的拆分与合并
  6. nyoj-----284坦克大战(带权值的图搜索)
  7. PKU 2528 POJ 2528 Mayor's posters ( 线段树+离散化 ) ACM 2528 IN PKU
  8. 素数生成器的算法【PHP EDITION】
  9. kmean法和dbscan法的直观比较
  10. NSGA2 算法Matlab实现