überwachen, welcher Prozess eine Datei unter FreeBSD / Linux geändert
Frage
Von Zeit zu Zeit eine Datei, die ich interessiert bin in durch einen Prozess geändert wird. Ich brauche, um herauszufinden, welchen Prozess diese Datei zu ändern. Mit lsof nicht funktionieren wird, noch kqueue. Ist dies möglich unter FreeBSD und Linux?
Lösung
Unter Linux gibt es einen Kernel-Patch im Umlauf für inotify . Allerdings haben einige sagen dies nur selten nützlich ist, und dass es ein Sicherheitsrisiko darstellen. In jedem Fall ist hier die Patch rel="nofollow.
Abgesehen davon, ich bin nicht sicher, es gibt eine Möglichkeit, die PID zu erhalten, entweder mit inotify oder dnotify . Sie könnten weiter untersuchen (z suchen pid dnotify oder pid inotify ), aber ich glaube, dass es nicht wahrscheinlich ist.
Andere Tipps
Unter FreeBSD, vielleicht sollte es am besten, wenn Sie Anreise seine Überwachungsfunktionen .
Linux hat einen Audit-Daemon http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html
Siehe auch auditd Homepage
Sie können sehen, welche eine Datei geöffnet Prozesse nur die Installation und Verwendung lsof (in Open Files) Befehl.