Linux har ett robust och moget filsystem som tillåter användare att utnyttja en mängd olika inbyggda verktyg för en rad ändamål. Vanligtvis kommer användare att komma åt filer så att de kan kopieras, ändras, öppnas och raderas. Ibland är detta avsiktligt, vid andra tillfällen, särskilt när det gäller servrar, kan det vara skadligt.
Det är dags att kanalisera din inre Sherlock Holmes. Vi ska filjakt!
Varför är detta viktigt?
Att veta när en fil användes, nås eller ändras kan hjälpa till med obehörig åtkomst eller helt enkelt som ett sätt att hålla reda på vad som har hänt. Denna undersökning kan vara på professionell nivå, med dedikerad kriminalteknisk analys, eller på hemanvändarnivå, som försöker se vilka av deras foton som har kopierats och potentiellt var det hamnade. Denna artikel är också avsedd att ge systemadministratörer en viktig guide för att förbättra deras verktygssats för deras dagliga aktiviteter och uppgifter.
Ge mig filerna, stat!
Öppna din terminal och få root om du behöver det. När du är klar är du redo att söka efter den svårfångade filen eller kontrollera när saker har nåtts.
De stat
kommandot kan visa filstorlek, typ, UID / GUID och åtkomst / ändringstid.
Här är statistiken för min “/ etc” -mapp. Lägg märke till att kommandot är enkelt.
Du kan se datumet när det senast öppnades, ändringstiden och den senaste ändringen.
Men jag glömde namnet!
Detta är en vanlig händelse, särskilt när du gräver igenom en gammal extern hårddisk för det dokument eller foto du behöver. Lyckligtvis kommer terminalen till undsättning.
Kommandot som behövs är ls
.
Det finns fyra huvudvariabler som du kan använda med ls
:
ls -a
Den här listar alla filer, inklusive de som är dolda:
ls -l
Detta möjliggör det långa listformatet:
ls --time-style=FORMAT
Detta visar tiden i ett specificerat format:
ls +%D
Detta är show- / användardatumet i% m /% d /% y-format:
När vi sätter ihop ger kommandot oss detta. Det är den grundläggande listan i min hemkatalog på en Ubuntu-testinstallation.
Du kan se behörigheterna, användarnamnet, datumet och platsen. För det mesta räcker det med att hitta filen, men tänk om du har en katalog med hundratals eller tusentals filer? Att tråla genom dem manuellt är alldeles för tidskrävande. Därför kan vi begränsa lite genom att lägga till följande flagga:
ls -alx --time-style=+%D
Detta kommer att lista saker alfabetiskt, eller om du föredrar, lista filerna efter storlek så här:
ls -als --time-style=+%D
Bonussökning
Med hjälp av följande kommandon kan användarna se när en fil öppnades.
ls -l --time=atime
Här är några av alternativen du kan ställa in för time
parameter:
- en tid – uppdateras när filen läses
- mtime – uppdateras när filen ändras
- ctime – uppdateras när filen eller ägaren eller behörigheterna ändras
Hitta och sök
Ett annat bra verktyg som Linux har är find
kommando (mer om det här). Låt oss säga att jag behöver de senast modifierade filerna, sorterade efter omvänd ordning, jag skulle skriva följande i terminalen:
find /etc -type f -printf '%TY-%Tm-%Td %TT %pn' | sort -r
Detta ser ut som ett mycket svårt kommando, men det är det verkligen inte. Mer finns på Ubuntu man-sida. Resultatet är nedan.
Förhoppningsvis kommer den här artikeln att ge dig de färdigheter du behöver för att arbeta inom terminalen för att ta reda på vad som har hänt med ett visst system. Det gör att du kan ta reda på ”vem, var och vad” som låter dig säkra din server eller helt enkelt hitta det dokument du behöver. Vad använder du? Finns det något mördareverktyg eller programvara som du använder? Finns det ett verktyg som kan köras i både terminalen och har ett smart GUI för nybörjare? Låt oss veta i kommentarfältet och hjälp dina medentusiaster.