Oto odpowiedź, którą napisałem na poprzednie pytanie:
Zasadniczo, jeśli chcesz wiedzieć, co robi proces / użytkownik / plik bez konieczności uruchamiania na nim lsof 24/7, korzystasz z audctl.
Zakładając, że masz ostatnio przeprowadzoną kontrolę jądra, powinna to być prosta operacja. (To jest w Debian-fu, jeśli korzystasz z tłumaczenia Red Hat odpowiednio)
# apt-get install auditd
Upewnij się, że działa (status /etc/init.d/auditd).
auditctl -a entry,always -F arch=b64 -S open -F pid=<process id>
Zamień b64 na b32, jeśli korzystasz z 32-bitowego archa, open można zastąpić dowolnym wywołaniem systemowym lub słowem „all”
Więcej informacji znajdziesz na stronie audytu.
Możesz użyć tej metody i poprosić ją o sprawdzenie wywołania systemowego „unlink”.
Parametr -w jest przydatny do oglądania plików / katalogów, ale jak wyjaśnia strona podręcznika, istnieją zastrzeżenia.
-w ścieżka Wstaw zegarek dla obiektu systemu plików w ścieżce. Nie można wstawić zegarka do katalogu najwyższego poziomu. Jest to zabronione przez jądro. Symbole wieloznaczne również nie są obsługiwane i wygenerują ostrzeżenie. Sposób działania zegarków polega na wewnętrznym śledzeniu i-węzła. Oznacza to, że jeśli umieścisz zegarek w katalogu, zobaczysz coś, co wydaje się zdarzeniami w pliku, ale tak naprawdę jest to tylko aktualizacja metadanych. W ten sposób możesz przegapić kilka wydarzeń. Jeśli chcesz oglądać wszystkie pliki w katalogu, zaleca się umieszczenie pojedynczego zegarka na każdym pliku. W przeciwieństwie do reguł inspekcji syscall, zegarki nie wpływają na wydajność na podstawie liczby reguł wysłanych do jądra.
Może można zastosować incron ?
źródło
Kilka pomysłów. Możesz użyć,
strace
aby zobaczyć, co robi twoja aplikacja, ale może wygenerować dziennik i spowolnić system.Innym pomysłem jest użycie
inotifywait
, a następnielsof/fuser
w pliku, aby zobaczyć, co go używa. Możesz spróbować uruchomić ten skrypt z wysokim priorytetem (jeśli możesz), aby uzyskać informacje tak dokładne, jak to możliwe. Prawdopodobnie nie złapieunlink
połączenia, ponieważ plik zostanie usunięty przed dostarczeniem zdarzenia.źródło
-f
flagi, aby podążać za dziećmi.Chociaż zalecana przez fenix rekomendacja wydaje się idealna, może się okazać, że system plików IDS, taki jak AIDE, jest pomocny. Niestety jest mało prawdopodobne, aby był wystarczająco drobnoziarnisty dla tego, co próbujesz izolować.
Często piszę skrypty jako rozwiązanie problemów takich jak to, co opisujesz. Jeśli nie możesz osiągnąć tego, co chcesz za pomocą zalecanych rozwiązań, napisz coś sam. Często nie jest to bardzo skomplikowane.
źródło