S: Tool zur Echtzeitüberwachung von Dateizugriffen

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Kermit24
Beiträge: 277
Registriert: 29.04.2006 14:44:39

S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von Kermit24 » 21.05.2017 09:38:00

Hallo,

immer wieder rattert minutenlang meine HDD, obwohl ich nichts mache. Manchmal finde ich die Ursache nicht (kein cronjob (logrotate o.ä.); Browser oder Emailclient mit Datenbank komprimierung, usw.). Ich suche ein tool ähnlich 'top', dass mir in Echtzeit Dateizugriffe anzeigt. Gibt es so etwas? Mit lsof kriege ich ja eine unendlich lange Momentaufnahme. Mich interessiert aber welcher Prozess gerade viele Neuzugriffe durchführt.

Danke im Voraus

DeletedUserReAsG

Re: S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von DeletedUserReAsG » 21.05.2017 09:43:22


Kermit24
Beiträge: 277
Registriert: 29.04.2006 14:44:39

Re: S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von Kermit24 » 21.05.2017 13:27:10

Danke! War mal wieder zu blöd es selber zu finden :(

Nachtrag: Jetzt muss ich doch noch mal eine DAU-Frage stellen: Wie halte ich die Aktualisierung von iotop an? Gibt es dafür keinen Hotkey (Hold-Funktion?)? Bei top nutze ich 'd'. Dann kann ich das Aktualisierungsintervall ändern. Solang die Eingabezeile da ist, steht die aktuelle top-Anzeige. Insofern habe ich bei top auch noch keine richtige Hold-Funktion gefunden. Bei iotop gibt es wohl keinen d-hotkey

iotop ist zwar ein klasse tool für meinen Zweck (Prozess finden, der hohe Lesezugriffe erzeugt), aber nicht ganz das, was ich erhofft habe: Die Dateien, auf der jeweilige Prozess zugreift, sehe ich so ja nicht. Die muss ich dann wieder mit 'lsof -p PID' abfragen. Gibt es für soetwas vielleicht auch ein tool? Oder alternativ: Kann man lsof so ausführen, dass es ewig läuft und jeden neuen Dateizugriff direkt ausgibt?

breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von breakthewall » 21.05.2017 16:54:06

Prinzipiell werden dafür keinerlei Zusatz-Programme benötigt. Dafür kann man das Kernel-I/O-Logging aktivieren.

Damit wird es mit Rootrechten aktiviert:

Code: Alles auswählen

echo "1" > /proc/sys/vm/block_dump
Standardmäßig ist es allerdings auf 0, und sollte nach der Suche wieder umgestellt werden. Ansonsten werden die Logs sehr schnell überlaufen, die gleichermaßen nach /var/log/debug und /var/log/syslog geschrieben werden.

Im Anschluss kannst die I/O-Aktivität folgendermaßen verfolgen:

Code: Alles auswählen

tail -F /var/log/syslog
Damit kannst stets die I/O-Aktivität sehen bzw. die Lese -und Schreibvorgänge, die ab diesem Zeitpunkt stattfinden samt verantwortlichem Prozess. Alternativ kann man auch journalctl verwenden, wenn einem das lieber ist.

breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von breakthewall » 21.05.2017 17:10:18

Kermit24 hat geschrieben:Die Dateien, auf der jeweilige Prozess zugreift, sehe ich so ja nicht. Die muss ich dann wieder mit 'lsof -p PID' abfragen.
Ich würde lsof gar nicht verwenden, noch ist es ein Teil der Standard-GNU-Programme. Und persönlich finde Ich es wenig hilfreich und sehr ineffizient, wenn man wirklich Informationen gewinnen will.

Und sofern den entsprechenden Prozess identifiziert hast, kannst Dich mittels strace -o LOG -p PID einklinken, und im Detail sehen was dieser Prozess genau tut. Damit kriegst in jedem Fall raus was hier passiert.

Kermit24
Beiträge: 277
Registriert: 29.04.2006 14:44:39

Re: S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von Kermit24 » 25.05.2017 08:19:11

breakthewall hat geschrieben:Prinzipiell werden dafür keinerlei Zusatz-Programme benötigt. Dafür kann man das Kernel-I/O-Logging aktivieren.

Damit wird es mit Rootrechten aktiviert:

Code: Alles auswählen

echo "1" > /proc/sys/vm/block_dump
Danke, wäre eine super Lösung, wenn ich eben meine Logfiles damit nicht versauen würde :(
Kann man die I/O Ausgaben nicht auch irgendwie in ein extra log-file umleiten?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von rendegast » 25.05.2017 09:00:37

journald erzeugt wohl immer nur ein Sammellog ala syslog / messages
(abgesehen von der Auftrennung für die jeweiligen Benutzer),
nur die Darstellung kann gefiltert werden.

rsyslog hat solche Filtermechanismen.
-> journal-Dateien ins Nirwana schicken und die Aufgabe durch den nachgeschalteten rsyslog erledigen.

Ob das einfach durch Abschaltung+Deaktivierung des systemd-journald.service funktioniert?
Könnte sein, daß rsyslog dann kein Input bekommt.
----------------------------------
EDIT, nach stop des systemd-journald.service (zwangsweise auch seine sockets)
empfängt rsyslog keine Meldungen mehr!
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
detix
Beiträge: 1699
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: S: Tool zur Echtzeitüberwachung von Dateizugriffen

Beitrag von detix » 25.05.2017 11:10:47

Bei der Suche nach einem anderen Problem bin ich auf Debianauditd gestoßen,
vielleicht wäre auditctl daraus was für dich, schreibt seine logs nach /var/log/audit
zB:
https://unix.stackexchange.com/question ... ing-a-file
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Antworten