Czy istnieje narzędzie do monitorowania, które procesy otwierają jakie pliki w systemie, dzięki czemu można śledzić, który proces dotyka określonego pliku?
Lsof może dowiedzieć się, czy uruchomisz go, gdy proces ma otwarty plik, ale jeśli jest to krótkotrwały proces, który uruchamia się co jakiś czas, nie możesz go złapać za pomocą lsof. Potrzebujesz czegoś, co korzysta ze śledzenia jądra.
kernel
command-line
filesystem
psusi
źródło
źródło
Odpowiedzi:
Możesz do tego użyć systemu kontroli. Jest trochę ciężki, ale coś takiego powinno działać (w /etc/audit/audit.rules):
a potem myślę, że musisz ponownie uruchomić auditd:
(Jeśli nie masz go zainstalowanego, znajduje się w pakiecie audytującym.) Winowajcę można następnie znaleźć w /var/log/audit/audit.log.
źródło
Niestety mechanizm, za pomocą którego Linux pozwala monitorować pliki, jest niewidoczny, co nie zapewnia wystarczającej ilości informacji do wyodrębnienia użytecznych danych: otrzymujesz tylko nazwę pliku i wykonaną czynność.
Próbowałem użyć czegoś takiego:
To nasłuchuje w celu powiadomienia o zdarzeniach w określonym katalogu i dla każdego zdarzenia uruchamia lsof, aby spróbować przechwycić proces, który dotyka pliku. Na nieszczęście dla większości testowanych przeze mnie dostępów (takich jak użycie edytora do zapisu do pliku), polecenie LSOF jest po prostu spowolnione i nie udaje mu się złapać przestępczego procesu.
Jeśli twoje procesy wykonują bardziej intensywne operacje wejścia / wyjścia na problematycznych plikach, twój przebieg może się różnić. Powodzenia.
źródło
fnotifystat to narzędzie, które zostało zaprojektowane do śledzenia aktywności plików linuksowych
Pokaż 10 najlepszych aktywnych plików co 60 sekund, aż do zatrzymania:
Pokaż aktywność pliku co 10 sekund tylko 6 razy:
Pokaż aktywność pliku thunderbirda i ID procesu 1827:
Pokaż każde zdarzenie powiadomienia o pliku i 20 najpopularniejszych aktywnych plików w ciągu 5 minut:
Po prostu pokaż każde zdarzenie powiadomienia pliku w / sys i / proc i brak okresowych statystyk:
Aby uzyskać więcej informacji, odwiedź stronę podręcznika fnotifystat, jest to dość elastyczne narzędzie.
źródło