Frage

Angenommen, ich hatte ein Skript, das Honeypot -Standorte mit MD5SUM überprüfte.

#!/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

Und die Ausgabe sah so aus:

http://pastebin.com/b4au4s6k

Wo würden Sie versuchen, die Ausgabe zu erkennen und möglicherweise eine Art Antwort durch das System auszulösen, wenn ein "fehlgeschlagen" vorhanden ist?

Ich habe ein bisschen mit Perl gearbeitet, um Protokolldateien vorher zu analysieren, aber meine Versuche haben normalerweise aus dem einen oder anderen Grund kläglich gescheitert.

Dies ist vielleicht nicht der richtige Weg, um das zu tun, aber ich möchte dieses Skript in einen Cronjob einfügen, der jede Minute laufen würde. Ich hatte einige Leute, die mir sagten, dass ein erfestiger Job oder ein Skript (ich bin damit nicht vertraut) besser wäre als das so.

Irgendwelche Vorschläge?

--- bearbeiten

Ich habe ein anderes Skript erstellt, um das Skript oben aufzurufen und die Ausgabe an eine Datei zu senden. Das neue Skript führt dann ein Grep -Q auf 'fehlgeschlagen' aus und wenn es etwas aufnimmt, klingt es den Alarm (TBD, was der Alarm aussehen wird).

#!/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"
War es hilfreich?

Lösung

Verwenden:

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

Oder die Ausgabe der Schleife rasen:

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"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top