PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : samba log überwachen per cronjob



ArnulfB
21.01.09, 12:53
Hallo
Ich versuche samba logs auzuwerten und für einen bestimmten user zu überprüfen ob er auf andere Verzeichnisse zugreift
dafür habe ich mir ein kleines script geschrieben:

cat /var/log/samba/Userlogs/* | grep --invert-match 'ohnediesemVerzeichnis/' | grep --invert-match 'ohnediesemVerzeichnis2/' | grep -B 1 `date +%Y/%m/%d` | grep -iB 1 'username opened' > /var/log/monitoring/smbueberwachung${datum}.txt

/usr/bin/mail "empfaenger@mydomain.at" -s "ueberwachung shares" -a /var/log/monitoring/smbueberwachung${datum}.txt < /var/log/monitoring/text.txt


1. ich durchlaufe alle logs, weil es komischerweise vorkommt, dass sowohl im
user.computername.log als auch im .computername.log file für den user geloggt wird.
warum? - damit muss ich nämlich auch dateien mit .computername durchlaufen.
sonst hätte ich nach username* gesucht.

2. wenn ich cat /xyz/.* mache beschwert er sich ausserdem, dass . und .. verzeichnisse sind.
stimmt ja, aber mit cat /xyz/* nimmt er keine files mit . (versteckt) und logs ohne username beginnen numal mit .computername.

3. wenn der user nur ein file öffnet, dann kommen sehr viele einträge mit user opened foo/bar write no read yes.
hier würde ich gerne gleiche einträge verwerfen .... aber nicht so wichtig.
interessanter ist was der eintrag "write no read no" bedeutet darauf kann ich mir keinen Reim machen.

lg
Arnulf

L00NIX
21.01.09, 18:12
Hi,

Ein paar Gedankenschipsel:




cat /var/log/samba/Userlogs/* | grep --invert-match 'ohnediesemVerzeichnis/' | grep --invert-match 'ohnediesemVerzeichnis2/' | grep -B 1 `date +%Y/%m/%d` | grep -iB 1 'username opened' > /var/log/monitoring/smbueberwachung${datum}.txt
...



Useless use of cat... grep kennt <datei> als Parameter! Außerdem kann man mit -e mehrere Patterns mitgeben.



2. wenn ich cat /xyz/.* mache beschwert er sich ausserdem, dass . und .. verzeichnisse sind.
stimmt ja, aber mit cat /xyz/* nimmt er keine files mit . (versteckt) und logs ohne username beginnen numal mit .computername.


Klar, weil .* auch . und .. mit einschließt. Wenn du das nicht willst, nimm /xyz/* (oder /xyz/.[!.]* für versteckte Dateien).

Gruß
L00NIX