Pregunta

Digamos que tenía un script que verificaba las ubicaciones de Honeypot usando 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

Y la salida se veía así:

http://pastebin.com/b4au4s6k

¿Dónde comenzaría a intentar reconocer la salida y tal vez activar algún tipo de respuesta por parte del sistema si hay un "fallido"?

He trabajado un poco con Perl tratando de analizar archivos de registro antes, pero mis intentos generalmente fallaron miserablemente por una razón u otra.

Puede que esta no sea la forma correcta de hacerlo, pero me gustaría poner este guión en un Cronjob que se ejecutaría cada minuto. Hice que algunos chicos me dijeran que un trabajo o guión inotify (no estoy familiarizado con esto) sería mejor que hacerlo de esta manera.

¿Alguna sugerencia?

--- editar

Hice otro script para llamar al script anterior y enviar la salida a un archivo. El nuevo script luego ejecuta un GREP -Q en 'fallido' y si recoge algo, suena la alarma (TBD cuál será la alarma).

#!/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"
¿Fue útil?

Solución

Usar:

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

O tuve la salida del bucle:

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"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top