Gibt es einen Befehl zum Anzeigen einer Liste der Benutzer, die eine Datei geändert haben und so einen Dateiverlauf bereitstellen?
Ich weiß, dass das mit SVN/Git usw. möglich ist, aber wir haben eine Konfigurationsdatei, die nicht in SVN ist und die jemand geändert hat.
Antwort1
Wenn Sie nicht zuvor eine Art Überwachung aktiviert haben, gibt es kein Tool, das dies melden kann, nachdem die Datei geändert wurde. Sie können das Datum und die Uhrzeit der letzten Änderung der Datei abrufen, jedoch keinen Revisionsverlauf.
Im Folgenden können Sie das auditd
Paket installieren, einrichten und aktivieren.
Aus der auditctl
Manpage:
-w path
Insert a watch for the file system object at path. You cannot insert
a watch to the top level directory. This is prohibited by the kernel.
Wildcards are not supported either and will generate a warning. The way
that watches work is by tracking the inode internally. If you place a
watch on a file, its the same as using the -F path option on a
syscall rule. If you place a watch on a directory, its the same as using
the -F dir option on a syscall rule. The -w form of writing watches
is for backwards compatibility and the syscall based form is more
expressive. Unlike most syscall auditing rules, watches do not impact
performance based on the number of rules sent to the kernel. The only
valid options when using a watch are the -p and -k. If you need to
anything fancy like audit a specific user accessing a file, then use
the syscall auditing form with the path or dir fields.
Weitere Informationen hierzu finden Sie in der FrageProtokollieren der Erstellung versteckter Dateien
Antwort2
Hier einige Diskussionen zum Hacken mit inotify, damit Sie PID und UID erhalten. http://www.ioremap.net/node/55
Siehe auch Audit http://andries.filmer.nl/kb/Überwachung von Dateisystemereignissen mit Inotify, Incron und Authctl/129#Audit