#!/bin/sh dir="/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin /usr/lib /etc" md5file="/root/md5file" # # Possibly the smallest tripwire program for unix-like operating systems. # pjp - 04-06-2008 # if [ $# -eq 1 -a x"$1" = x"create" ] ; then cat /dev/null > $md5file for i in $dir; do find $i -type f | xargs md5 >> $md5file done exit 0; fi for i in $dir ; do find $i -type f | awk -v md5file="$md5file" 'BEGIN { while ( getline < md5file) { array[$NF] = $2 }} { file=$1; command="md5 " file; command | getline ; if (array[$NF] == "") print $2 " has changed"; close(command);}' done