
Ich möchte herausfinden, welche Dateivorgänge (erfolgreich und fehlgeschlagen) in der letzten Stunde auf meinem System ausgeführt wurden. Gibt es eine Möglichkeit, das zu tun?
Antwort1
Sie können den Verlauf von Dateioperationen nur sehen, wenn Sie diese überwacht und protokolliert haben. Es gibt einige Möglichkeiten, dies zu tun, wie den Systemaufruf ptrace() oder das Befehlszeilenprogramm strace oder vielleicht sogarDTrace, aber wenn Sie die Aktionen nicht protokolliert haben, können Sie nur mit den Dateizeitstempeln arbeiten.
Antwort2
Solche Informationen werden standardmäßig nicht protokolliert (das wären sehr viele Informationen)!
Wenn Sie sehen möchten, was ein bestimmter Prozess tut, führen Sie ihn aus unterstrace
(das ist das Linux-Dienstprogramm, andere Unix-Varianten haben ähnliche Dienstprogramme wietruss
, dtrace
, usw.). Standardmäßig strace
werden alle Systemaufrufe protokolliert. Sie können steuern, welche Art von Informationen strace
angezeigt werden. Beispielsweise -efile
beschränkt die Option die Protokollierung auf Systemaufrufe, die auf Dateien zugreifen.
strace -o myprogram.log -efile myprogram --option
Wenn Sie Zugriffe auf alle Dateien einer bestimmten Hierarchie protokollieren möchten, können SieAngemeldetes FS. SehenIst es möglich herauszufinden, welches Programm oder Skript eine bestimmte Datei erstellt hat?für ein Anwendungsbeispiel. Protokollieren Sie nicht das Verzeichnis, in das die Protokolle geschrieben werden!
Ein weit verbreiteterer Protokollierungsmechanismus ist LinuxAudit-Subsystem. Es läuft als root. SieheIst es möglich herauszufinden, welches Programm oder Skript eine bestimmte Datei erstellt hat?für Konfigurationsanweisungen und ein Anwendungsbeispiel. Protokollieren Sie nicht das Verzeichnis, in das die Protokolle geschrieben werden!