Question

Disons que j'avais un script qui a vérifié les emplacements de la pot de miel à l'aide de md5sum.

#!/bin/bash
#cryptocheck.sh
#Designed to check md5 CRC's of honeypot files located throughout the filesystem.
#Must develop file with specific hashes and create crypto.chk using following command:
#/opt/bin/md5sum * > crypto.chk
#After creating file, copy honeypot folder out to specific folders

locations=("/share/ConfData" "/share/ConfData/Archive" "/share/ConfData/Application"
"/share/ConfData/Graphics")

for i in "${locations[@]}"
do
        cd "$i/aaaCryptoAudit"
        /opt/bin/md5sum -c /share/homes/admin/crypto.chk
done

Et la sortie ressemblait à ceci:

http://pastebin.com/b4au4s6k

Où commenceriez-vous à essayer de reconnaître la sortie et à déclencher peut-être une sorte de réponse par le système s'il y a un «échec»?

J'ai travaillé un peu avec Perl en essayant d'analyser les fichiers journaux auparavant, mais mes tentatives ont généralement échoué misérablement pour une raison ou une autre.

Ce n'est peut-être pas la bonne façon de procéder à ce sujet, mais je voudrais mettre ce script dans un cronjob qui fonctionnerait chaque minute. J'ai eu des gars qui m'avaient dit qu'un travail ou un script inotifier (je ne le connais pas) serait mieux que de le faire de cette façon.

Aucune suggestion?

--- Éditer

J'ai fait un autre script pour appeler le script ci-dessus et envoyer la sortie dans un fichier. Le nouveau script exécute alors un grep -q sur «échec» et s'il ramasse quelque chose, il semble l'alarme (tbd ce que sera l'alarme).

#!/bin/bash
#cryptocheckinit.sh
#

#rm /share/homes/admin/cryptoalert.warn
/share/homes/admin/cryptocheck.sh > /share/homes/admin/cryptoalert.warn
grep -q "FAILED" /share/homes/admin/cryptoalert.warn && echo "LIGHT THE SIGNAL FIRES"
Était-ce utile?

La solution

Utilisation:

if ! /opt/bin/md5sum -c /share/homes/admin/crypto.chk
then 
    # Do something
fi

Ou tuyaux la sortie de la boucle:

for i in "${locations[@]}"
do
        cd "$i/aaaCryptoAudit"
        /opt/bin/md5sum -c /share/homes/admin/crypto.chk
done | grep -q FAILED && echo "LIGHT THE SIGNAL FIRES"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top