Gibt es ein Tool zum Überwachen, welche Prozesse welche Dateien auf dem System öffnen, damit Sie feststellen können, welcher Prozess eine bestimmte Datei berührt?
Lsof kann herausfinden, ob Sie es ausführen, während der Prozess die Datei geöffnet hat. Wenn es sich jedoch um einen kurzlebigen Prozess handelt, der gelegentlich ausgeführt wird, können Sie ihn nicht mit lsof abfangen. Benötigen Sie etwas, das Kernel-Tracing verwendet.
kernel
command-line
filesystem
psusi
quelle
quelle
Antworten:
Sie könnten vielleicht ein Audit-System dafür verwenden. Es ist ein wenig schwer, aber so etwas sollte funktionieren (in /etc/audit/audit.rules):
und dann denke ich, dass Sie auditd neu starten müssen:
(Falls Sie es nicht installiert haben, befindet es sich im Paket auditd.) Der Täter befindet sich dann in /var/log/audit/audit.log.
quelle
Leider ist der Mechanismus, den Linux verwendet, um das Überwachen von Dateien zu ermöglichen, inotify, der nicht genügend Informationen zum Extrahieren nützlicher Daten liefert: Sie erhalten nur den Dateinamen und die durchgeführte Aktion.
Ich habe versucht, so etwas zu verwenden:
Dadurch wird darauf gewartet, Ereignisse im angegebenen Verzeichnis zu inotifizieren, und für jedes Ereignis wird lsof ausgeführt, um zu versuchen, den Prozess abzufangen, der die Datei berührt. Leider ist der LSOF-Befehl für die meisten von mir getesteten Zugriffe (z. B. die Verwendung eines Editors zum Schreiben in eine Datei) nur zu langsam und kann den fehlerhaften Prozess nicht abfangen.
Wenn Ihre Prozesse die problematischen Dateien intensiver mit E / A bearbeiten, kann Ihr Kilometerstand variieren. Viel Glück.
quelle
fnotifystat ist ein Tool, das entwickelt wurde, um die Aktivität von Linux-Dateien zu überwachen
Zeigen Sie die Top 10 aktiven Dateien alle 60 Sekunden an, bis sie gestoppt sind:
Zeigen Sie die Dateiaktivität alle 10 Sekunden nur 6 Mal an:
Dateiaktivität von Thunderbird und Prozess-ID 1827 anzeigen:
Zeigen Sie jedes Dateibenachrichtigungsereignis und die 20 wichtigsten aktiven Aktivitätsdateien über einen Zeitraum von 5 Minuten an:
Zeigen Sie einfach jedes Dateibenachrichtigungsereignis auf / sys und / proc und keine periodischen Statistiken an:
Weitere Informationen finden Sie auf der Manpage fnotifystat. Es ist ein recht flexibles Tool.
quelle