Fórum Root.cz
Hlavní témata => Software => Téma založeno: x x 05. 06. 2024, 19:11:50
-
Potřeboval bych radu jak snadno zjistit jaké soubory vytváří či otevírá spouštěná aplikace. Mělo by mi stačit ke spokojenosti jen co se odehrává v podadresářích domovského účtu. Poradíte někdo jak to udělat??
-
Na Linuxu hledáš strace.
-
Používám na to iwatch, co používá inotify. V Debianu je to v balíčku iwatch https://packages.debian.org/bookworm/iwatch (https://packages.debian.org/bookworm/iwatch)
Příklad, rekurzivně projede všechny soubory v aktuálním adresáři a zobrazuje všechny eventy nad soubory. Pokud je toho ve výpisu dost, tak --help a eventy nebo sledované soubory/adresáře vybrat podle zájmu.
iwatch -e all_events -r ./
Edit: Aha, teď koukám, že je požadavek na "co dělá spouštěná aplikace"... Tam je opravdu vhodný nástroj strace. iwatch je vhodný nástroj pro "k jakým souborům se přístupuje/čte/zapisuje v nějakém adresáři".
-
inotify
-
nepíšeš distribuci a ani filesystem. Kromě rad výše mrkni i na auditd, pokud ho máš.
-
Ono by mohlo stačit sledovat /proc/PID/... a tam by měli být filedescriptory otvíraných souborů
-
Ono by mohlo stačit sledovat /proc/PID/... a tam by měli být filedescriptory otvíraných souborů
to dělá spousta monitorovacích nástrojů (vč. lsof), ale je to pořád snapshot v čase, když je zápis velmi rychlý a soubor se po zápisu zavře, nemusíš nic spozorovat. To je právě i problém ochrany před viry/malwery či jak to nazvat. Na to jsou lepší tracovací či injectovací nástroje na úrovni kernelu.
Pak tady máme samozřejmě celou řadu jiných cest, jak zapsat data bez syscallu a viditelnosti konkrétní cesty.
-
Děkuji za náměty jak na to. Jinak distribucí je Ubuntu v předposlední LTS verzi, filesystem ext4.
Jinak zcela určitě ten přístup či vytvoření souboru bude velmi rychlý.
-
takže asi strace, ale dělá to hodně výstupu, zase tam bude všechno
-
Jak už zmiňovali ostatní, tak nejjednodušší jsou asi nástroje z inotify-tools (fsnotifywatch, inotifywatch..). Případně strace, což je obecnější nástroj na monitorování různých syscallů. Obojí je fajn, pokud chcete dělat jen ad-hoc interaktvní monitoring.
Jestli jde o nějaké dlouhodobější sledování, tak je na to vhodnější použít auditd. Ten se obecně hodí pro monitorování jak třeba filesystému, tak i síťových spojení atp. Na některých distribucích je rovnou v základní instalaci, do Ubuntu se, mysím, přidá instalací balíčku auditd, jestli je to stejné jak na Debianu.
Běží to jako služba a můžete vytvořit docela mocná pravidla na monitoring. Jak persistentní do nějakého .rules souboru, tak i ad-hoc interaktivní přes auditctl.
Nějaké intro je pak třeba tady:
https://www.linux.com/topic/desktop/customized-file-monitoring-auditd/