W moim katalogu domowym nagle pojawiły się trzy pliki o nazwie „client_state.xml”, „lockfile” i „time_stats_log”. Dwa ostatnie są puste. Zastanawiam się, jak się tam dostali. To nie pierwszy raz, kiedy to się stało, ale ostatni raz minęły tygodnie temu; Usunąłem pliki i nic się nie zepsuło ani nie narzekałem. Nie byłem w stanie myśleć o tym, co robiłem w momencie, kiedy to zgłosił stat $filename
. Czy jest jakiś sposób, aby dowiedzieć się, skąd one pochodzą?
Alternatywnie, czy istnieje sposób monitorowania katalogu domowego (ale nie podkatalogów) w celu tworzenia plików?
files
monitoring
Wilk
źródło
źródło
Odpowiedzi:
Nie sądzę, aby można było ustalić, który program utworzył plik.
Na twoje alternatywne pytanie: Możesz jednak uważać na plik do odtworzenia za pomocą
inotify
.inotifywait
jest interfejsem wiersza poleceń dlainotify
podsystemu; możesz mu powiedzieć, aby szukałcreate
wydarzeń w twoim katalogu domowym:Prawdopodobnie chcesz go uruchomić za pomocą
-m
(monitor), który mówi, aby nie wychodził po zobaczeniu pierwszego zdarzeniaźródło
inotify
? Nie jest zainstalowany (jądro 2.6.34) i nie ma go/dev/inotify
.CONFIG_INOTIFY_USER
(Filesystems
->Inotify support for userspace
).inotifywait
jest prawdopodobnie w pakiecie o nazwie coś w styluinotify-tools
inotify-tools
pakiet, więc teraz maminotifywait
(iinotifywatch
). Przetestowałem to i wydaje się, że działa.Możesz oglądać wszystko, co dzieje się w systemie plików, uzyskując do niego dostęp za pośrednictwem LoggedFS . Jest to skumulowany system plików, który rejestruje każdy dostęp w drzewie katalogów.
Rejestrowanie całego katalogu domowego może jednak spowolnić system. Przynajmniej będziesz chciał napisać plik konfiguracyjny z surowymi filtrami.
Jeśli masz dostęp do konta root, w systemie Linux możesz użyć podsystemu kontroli do zarejestrowania dużej liczby rzeczy, w tym dostępu do systemu plików. Upewnij się, że
auditd
demon jest uruchomiony, a następnie skonfiguruj, z czym chcesz się zalogowaćauditctl
. Każda zarejestrowana operacja jest rejestrowana w/var/log/audit/audit.log
(w typowych dystrybucjach). Aby rozpocząć oglądanie określonego pliku:lub w długiej formie
Jeśli umieścisz zegarek w katalogu (z
-w
lub-F dir=
), pliki w nim i jego podkatalogi rekurencyjnie będą również oglądane.źródło
Możesz
auditd
rzucić okiem , ten pakiet pozwala przeprowadzać audyty bezpieczeństwa i uzyskać wiele informacji o tym, kto zmienił to, co w systemie plików.źródło
Wiem, że to stare pytanie, ale zasugeruję inne podejście na wypadek, gdyby ktoś uznał je za przydatne. Oryginalnie zamieściłem to jako odpowiedź na pytanie, które zostało skopiowane do tego pytania.
Jedną z opcji jest użycie
sysdig
: aplikacji do monitorowania systemu typu open source. Za jego pomocą możesz monitorować aktywność w pliku według nazwy. Załóżmy, że chcesz zobaczyć, jaki proces tworzył plik o nazwie/tmp/example.txt
:Z tego wyniku widać, że proces o nazwie
touch
pid 5470 otworzył plik.Jeśli chcesz uzyskać więcej informacji, możesz uruchomić w „trybie przechwytywania”, w którym gromadzone są dane śledzenia połączeń systemowych:
Następnie poczekaj na utworzenie pliku, a następnie zatrzymaj się
sysdig
i uruchom:To pozwoli ci odkryć wszystko, co się wydarzyło. Możesz nacisnąć
<F2>
i wybraćFiles
, naciśnij,<F4>
aby wyszukać nazwę pliku, a następnie naciśnij,<F6>
aby „wykopać” (co spowoduje wyświetlenie wyników podobnych do powyższych poleceń). Dzięki temu możesz następnie zastosować to samo podejście do znalezienia informacji o procesie, który faktycznie utworzył plik.Istnieje wersja GUI o
csysdig
nazwiesysdig-inspect
, jeśli to bardziej twoja filiżanka herbaty.źródło
Nie masz,
inotify
więc możesz napisać skrypt, który sprawdza plik w pętli:źródło