Sehen Sie, welcher Prozess zuletzt eine Datei berührte

8

In einer Linux-Box gibt es einige Prozesse, die regelmäßig die Berechtigungen für Verzeichnisse und Dateien ändern, ungefähr täglich. Dies ist kein Prozess, den ich eingerichtet habe, und ich habe keine Ahnung, was es ist.

Ich habe root Zugang und ich kann leicht die Berechtigungen manuell ändern, um Zugriff zurück zu bekommen, aber es ist ein bisschen nervig.

Gibt es eine Möglichkeit, eine Liste von Prozessen zu sehen, die zuletzt eine Datei berührt haben? Oder alternativ, wie würde ich Protokollierungsprozessaktivität für die Datei gehen.

    
evolution 29.12.2011, 18:48
quelle

2 Antworten

11

Auf einem Fedora-System können Sie Folgendes verwenden:

%Vor%

Es ist im Paket audit , wenn Sie das nicht installiert haben, dann sudo yum install audit

Die Ausgabe geht in /var/log/audit/audit.log in der Form

%Vor%

Es ist ein wenig dicht, aber beachte, dass die msg=audit(###) -Strings über mehrere Zeilen verteilt sind.

  • Jetzt, da ich die Manpage zum ersten Mal gelesen habe, sehe ich einige Hinweise zur Verwendung von -Farch=b32 / -Farch=b64 . Es scheint also, dass es bei 32-Bit-vs-64-Bit-Syscalls eine gewisse Seltsamkeit gibt Wenn Sie also keinen Audit-Treffer erhalten, könnte das der Grund sein. Ich habe dieses Bit nie zuvor gesehen, aber seit der Athlon-Ära habe ich keine 32-Bit-Prozesse mehr ausgeführt, daher kann ich nicht gut damit sprechen.
BRFennPocock 29.12.2011, 18:57
quelle
3

Wenn Sie Änderungen an einer Datei oder einem Verzeichnis überwachen müssen, kann inotify hilfreich sein.

In bash gibt es inotifywait (Sie können ein schönes Beispiel dafür finden, wie um es zu benutzen hier ), und in Python (nur für den Fall, dass Sie es in Betracht ziehen) gibt es ein Bibliothek namens pyinotify .

    
jcollado 29.12.2011 18:55
quelle

Tags und Links