Existuje nějaký způsob, jak v unixu zjistit, kdo přistupoval k určitému souboru za poslední 1 týden? Může to být uživatel nebo nějaký skript ftp na jiné místo. Mohu získat seznam uživatelských jmen, kteří přistupovali k určitému souboru? Jak zjistím, kdo má přístup ke konkrétnímu souboru??
Přijatá odpověď:
Pokud nemáte zavedené extrémně neobvyklé zásady protokolování, kdo přistupoval k jakému souboru, není protokolován (to by bylo obrovské množství informací). Kdo byl v kterou dobu přihlášen, zjistíte v systémových protokolech; last příkaz vám poskytne historii přihlášení a další protokoly, jako je /var/log/auth.log vám řekne, jak se uživatelé autentizovali a odkud se přihlásili (který terminál nebo který hostitel, pokud je vzdálený).
Datum, kdy byl soubor naposledy přečten, se nazývá jeho přístupový čas nebo zkráceně atime. Všechny unixové souborové systémy jej mohou ukládat, ale mnoho systémů jej nezaznamenává, protože má (obvykle malý) výkon. ls -ltu /path/to/file nebo stat /path/to/file zobrazuje čas přístupu k souboru.
Pokud uživatel přistupoval k souboru a nesnažil se skrýt své stopy, jeho historie shellu (např. ~/.bash_history ) může mít stopy.
Chcete-li zjistit, co nebo kdo má nyní soubor otevřený, použijte lsof /path/to/file .
Chcete-li zaznamenat, co se stane se souborem v budoucnu, existuje několik způsobů:
-
Použijte inotifywait.
inotifywait -me access /path/tovypíše řádek/path/to/ ACCESS filekdyž někdo čtefile. Toto rozhraní vám neřekne, kdo k souboru přistupoval; můžete zavolatlsof /path/to/filejakmile se objeví tento řádek, ale existuje sporná podmínka (přístup může být ukončen, než se lsof spustí). -
LoggedFS je stohovatelný souborový systém, který poskytuje pohled na strom souborového systému a může provádět lepší protokolování všech přístupů prostřednictvím tohoto pohledu. Chcete-li jej nakonfigurovat, přečtěte si část Syntaxe konfiguračního souboru LoggedFS.
-
Auditní subsystém Linuxu můžete použít k protokolování velkého množství věcí, včetně přístupů k souborovému systému. Ujistěte se, že
auditddémon se spustí a poté pomocíauditctlnakonfigurujte, co chcete protokolovat . Každá protokolovaná operace je zaznamenána v/var/log/audit/audit.log(na typických distribucích). Zahájení sledování konkrétního souboru:auditctl -w /path/to/filePokud vložíte hodinky do adresáře, budou rekurzivně sledovány také soubory v něm a jeho podadresáře.