Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#!/bin/sh ### /etc/scripts/check_md5.sh ### # Einhaengen des Floppy-Laufwerks mount /dev/fd0 /floppy # Einlesen der momentanen MD5-Summen in /etc find /etc -type f ! -name mtab ! -name blkid.tab ! -name blkid.tab.old | xargs md5sum > /var/tmp/md5check.tmp # Vergleich der momentanen MD5-Summen mit den gespeicherten auf der Floppy diff /var/tmp/md5check.tmp /floppy/etc.sigs > /dev/null # diff-Status = 0 -> Keine Abweichungen zwischen Original-MD5-Summen und den momentanen if [ $? -ne "0" ]; then /etc/scripts/search_file.pl; cat /var/tmp/mail.tmp | mailx -s "Inkonsistenz bei MD5-Check" root@localhost; logger -t "md5-check" -p syslog.alert "Inkonsistenzen bei MD5-Check aufgetreten"; else logger -t "md5-check" -p syslog.info "MD5-Check ok"; fi # Entfernen der Temp-Files rm -f /var/tmp/md5check.tmp /var/tmp/mail.tmp # Aushaengen des Floppy-Laufwerks umount /floppy exit $? ### EOF ### |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
#!/usr/bin/perl -w ### /etc/scripts/search_file.pl ### # Einlesen der aktuellen MD5-Summen in ein Array open(FH, "/var/tmp/md5check.tmp"); @testdatei=<FH>; close(FH); # Oeffnen der Datei mit den gespeicherten MD5-Summen open(FH, "/floppy/etc.sigs"); while(<FH>) { # Aufsplitten in MD5-Hash und Dateiname (Original) ($hash, $datei) = split /\s+/, $_; # Fuer jeden Wert im Array @testdatei.... foreach $zeile(@testdatei) { # Aufsplitten in MD5-Hash und Dateiname (momentan) ($testhash, $testdatei) = split /\s+/, $zeile; # Wenn der Dateiname in beiden Listen uebereinstimmt... if ($testdatei eq $datei) { # ...pruefe, ob der Original-Hash vom momentanen Hash abweicht... if ($hash ne $testhash) { # falls dies so ist: Schreibe den Name der Datei in das "Ausgabe-Array" push @ausgabe, $testdatei; } } } } close(FH); # Oeffnen der Datei, welche an die Mail angehaengt wird. open(FH, ">/var/tmp/mail.tmp"); print FH "MD5-Summen fuer folgende Dateien stimmen nicht mit den gesicherten MD5-Summen ueberein:\n\n"; # Fuer jedes Element im "Ausgabe-Array".... foreach $element(@ausgabe) { # ...schreibe das Element in die geoeffnete Mail-Datei print FH "$element\n"; } close(FH); ### EOF ### |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »hydraulik« (02.08.2005, 17:19)