Wie protokolliere ich den Zugriff auf eine bestimmte Datei?

Wie protokolliere ich den Zugriff auf eine bestimmte Datei?

Ich habe mir diese Frage und ihre Antworten bereits angesehenWie protokolliere ich den Zugriff auf einen bestimmten Ordner und Änderungen an seinem Inhalt?, ich hätte jedoch gerne etwas Spezifischeres, sodass der Zugriff auf eine Datei oder eine Sammlung von Dateien an verschiedenen Orten (nicht im selben Ordner) protokolliert wird. So dass bei jedem Öffnen der Datei der Speicherort und der Name dieser Datei zusammen mit dem Datums- und Zeitstempel protokolliert werden. Änderungen an diesen Dateien sollten ebenfalls protokolliert werden.

Gibt es eine Möglichkeit, dies zu tun? Ich verwende Ubuntu GNOME 15.04.

Antwort1

inotifywaitkann dies tun. Installieren Sie das Paket inotify-tools:

sudo apt-get install inotify-tools

Führen Sie es dann inotifywaitfolgendermaßen aus:

inotifywait --timefmt "%F %T" --format "%T %w %e" --daemon --outfile </path/to/logfile> </path/to/file1> </path/to/file2> ...

Es werden Datum, Uhrzeit, Datei und aufgetretenes Ereignis protokolliert.

Mehr Informationen:inotifywaitHandbuchseite.

Antwort2

man inotify 

Dann überprüfeinotify-tools. Es ist im Repository, also installieren Sie es über

sudo apt-get install inotify-tools

Kopieren vom obigen Wiki-Link

inotifywait- Dieser Befehl blockiert einfach Inotify-Ereignisse und ist daher für die Verwendung in Shell-Skripten geeignet. Er kann beliebige Dateien und Verzeichnisse überwachen und kann rekursiv ganze Verzeichnisbäume überwachen.

verwandte Informationen