Исходные тексты скриптов проверки целостности
Скрипт проверки целостности исполняемых файлов
Скрипт mind-calc-exec-md5.sh разработан на языке Linux shell (bash). Исходный текст скрипта приведен ниже:
#/bin/bash
TMP_FILE_NAME=~/$0.tmp
OUT_FILE_NAME=~/$0-`date +%Y%0m%0d-%0I%0M%0S`.out
find / -type f -perm /111 2>/dev/null | sort > $TMP_FILE_NAME
echo -e "FileName\tFileSize\tMD5Sum" > $OUT_FILE_NAME
while read -r LINE_FILENAME
do
LINE_FILESIZE=`ls -l $LINE_FILENAME | awk '{print $5}'`
LINE_MD5SUM=`md5sum $LINE_FILENAME | awk '{print $1}'`
echo -e "${LINE_FILENAME}\t${LINE_FILESIZE}\t${LINE_MD5SUM}" >> $OUT_FILE_NAME
done < $TMP_FILE_NAME
rm -f $TMP_FILE_NAME 2>/dev/null
В процессе работы происходит поиск файлов на всех смонтированных файловых системах с включенным битом исполнения (execution bit). Полные имена файлов, размер и контрольная сумма каждого файла сохраняются в виде отсортированного списка в выходной файл. Имя файла содержит дату и время вызова скрипта (при повторном вызове создаётся новый файл).
Скрипт создания файлов в процессе миграции
Скрипт mind-create-random-file.sh разработан на языке Linux shell (bash). Исходный текст скрипта приведен ниже:
#/bin/bash
OUT_FILE_NAME=~/$0.out
MD5_FILE_NAME=~/$0.md5
dd if=/dev/urandom of=$OUT_FILE_NAME bs=1M count=128
md5sum $OUT_FILE_NAME > $MD5_FILE_NAME
В процессе работы скрипта создаётся файл размером 128 МБ, содержащий псевдослучайные данные, получаемые из устройства /dev/urandom.
После создания случайного файла происходит расчет и сохранение контрольной суммы данного файла в отдельный файл для последующего сравнения.