#!/bin/bash
ulimit -t 20
checkdir="/bin /sbin"
filedb="/var/tmp/permsecdb"
email="test@iamroot.ru"
out=$(
exec 2>&1
umask 266
find $checkdir -type f -printf "%m\t" -exec md5sum {} \; >$filedb.tmp
diff $filedb $filedb.tmp
mv -f $filedb.tmp $filedb
)
if [ "$out" ];then
(date; echo; echo "$out") | mail -s "Change permsec `hostname`" $email fi
— ulimit лучше выставить не случай не предвиденных ситуаций.
— checkdir соответственно проверяемые директории
— filedb текстовой файл базы
— email куда посылать мыло
Если изменений в системе не было, то сообщения посылаться не будут.
Виды сообщений
1 — ошибки
2 — добавлен файл «> 644 df794b40f826b6838df9b82115b59aba5 /bin/test»
3 — удален файл «< 755 df794b40f826b6838df9b82115b59aba5 /bin/test»
4 — изменен файл «< 755 df794b40f826b6838df9b82115b59aba5 /bin/test
— > 755 df794b40f826b6838df9b82115b59aba5 /bin/test»
Уведомление: Мониторинг изменений файлов в linux | Сайт Максима Кузнецова
Спасибо за рецепт
строка 17: ошибка синтаксиса: неожиданный конец файла