Hoe de laatste opdracht op Linux te gebruiken

Linux-laptop met een bash-prompt
Fatmawati Achmad Zaenuri / Shutterstock.com

Wie, wanneer en van waar? Goede beveiligingspraktijken zeggen dat je moet weten wie er toegang heeft gehad tot je Linux-computer. We laten je zien hoe.

Het wtmp-bestand

Linux en andere Unix-achtige besturingssystemen zoals MacOS zijn erg goed in loggen. Ergens in de ingewanden van het systeem is er een logboek voor zo ongeveer alles wat je maar kunt bedenken. Het logbestand waarin we geïnteresseerd zijn, wordt genoemd wtmp. De “w” zou kunnen staan ​​voor “wanneer” of “wie” – niemand lijkt het daarmee eens te zijn. Het ’tmp’-gedeelte staat waarschijnlijk voor’ tijdelijk ‘, maar het kan ook staan ​​voor’ timestamp ‘.

Wat we wel weten is dat wtmp is een logboek dat elke login en uitloggebeurtenis vastlegt en registreert. De gegevens in het wtmp log is een basisstap bij het nemen van een beveiligingsgerichte benadering van uw systeembeheerderstaken. Voor een typische gezinscomputer is het misschien niet zo kritisch vanuit een beveiligingsperspectief, maar het is interessant om uw gecombineerd gebruik van de computer te kunnen beoordelen.

In tegenstelling tot veel van de op tekst gebaseerde logboekbestanden in Linux, wtmp is een binair bestand. Om toegang te krijgen tot de gegevens erin, hebben we een tool nodig die voor die taak is ontworpen.

Die tool is de last opdracht.

Het laatste commando

De last commando leest gegevens van het wtmp log en geeft het weer in een terminalvenster.

Als je typt last en druk op Enter. Alle records uit het logbestand worden weergegeven.

last

laatste commando in een terminalvenster

Elk record van wtmp wordt weergegeven in het terminalvenster.

Elke regel bevat van links naar rechts:

  • De gebruikersnaam van de persoon die zich heeft aangemeld.
  • De terminal ze waren ingelogd. Een terminalinvoer van :0 betekent dat ze waren ingelogd op de Linux-computer zelf.
  • De IP adres van de machine waarop ze waren ingelogd.
  • De Log in tijd- en datumstempel.
  • De looptijd van de sessie.

uitvoer van laatste in een terminalvenster

De laatste regel vertelt ons de datum en tijd van de eerste geregistreerde sessie in het logboek.

Elke keer dat de computer wordt opgestart, wordt een login-invoer voor de fictieve gebruiker ‘reboot’ in het logboek ingevoerd. Het terminalveld wordt vervangen door de kernelversie. De duur van de aangemelde sessie voor deze vermeldingen vertegenwoordigt de uptime voor de computer.

Een specifiek aantal regels weergeven

De … gebruiken last op zichzelf produceert een dump van het hele logboek, waarbij het meeste langs het terminalvenster suist. Het gedeelte dat zichtbaar blijft, zijn de vroegste gegevens in het logboek. Dit is waarschijnlijk niet wat u wilde zien.

Je kunt het zien last om u een specifiek aantal regels output te geven. Doe dit door het gewenste aantal regels op de opdrachtregel op te geven. Let op het koppelteken. Om vijf regels te zien, moet u typen -5 en niet 5:

last -5

last -5 in een terminalvenster

Dit geeft de eerste vijf regels uit het logboek, de meest recente gegevens.

eerste vijf regels van twmp in een terminalvenster

Netwerknamen weergeven voor externe gebruikers

De -d (Domain Name System) optie vertelt last om te proberen IP-adressen van externe gebruikers om te zetten in een machine- of netwerknaam.

last -d

last -d in een terminalvenster

Het is niet altijd mogelijk voor last om het IP-adres naar een netwerknaam te converteren, maar de opdracht zal dit doen wanneer het kan.

uitvoer van last -d in een terminalvenster

IP-adressen en netwerknamen verbergen

Als u niet geïnteresseerd bent in het IP-adres of de netwerknaam, gebruikt u de -R (geen hostnaam) optie om dit veld te onderdrukken.

last -R in een terminalvenster

Omdat dit een nettere uitvoer geeft zonder lelijke omhullingen, is deze optie in alle volgende voorbeelden gebruikt. Als je last om te proberen ongebruikelijke of verdachte activiteiten te identificeren, zou u dat doen niet onderdruk dit veld.

uitvoer van de laatste -R in een terminalvenster

Records selecteren op datum

U kunt de -s (sinds) optie om de uitvoer te beperken om alleen inloggebeurtenissen weer te geven die plaatsvonden sinds een specifieke datum.

Als je alleen inloggebeurtenissen wilt zien die plaatsvonden vanaf 26 mei 2019, zou je het volgende commando gebruiken:

last -R -s 2019-05-26

laatste -R -s 2019-05-26 in een terminalvenster

De uitvoer toont records met inloggebeurtenissen die plaatsvonden vanaf het tijdstip 00:00 op de opgegeven dag tot aan de nieuwste records in het logbestand.

Uitvoer van de laatste -R -s 2019-05-26 in een terminalvenster

Zoeken tot een einddatum

U kunt de -t (tot) om een ​​einddatum op te geven. Hiermee kunt u een set aanmeldingsrecords selecteren die plaatsvonden tussen twee interessante datums.

laatste -R -s 2019-05-26 -t 2019-05-27 in een terminalvenster

Dit commando vraagt last om de login-records op te halen en weer te geven van 00:00 (zonsopgang) op de 26e tot 00:00 (zonsopgang) op de 27e. Dit beperkt de lijst tot inlogsessies die alleen op de 26e plaatsvonden.

Uitvoer van de laatste -R -s 2019-05-26 -t 2019-05-27 in een terminalvenster

Tijd- en datumnotaties

U kunt zowel tijden als datums gebruiken met de -s en -t opties.

De verschillende tijdnotaties die kunnen worden gebruikt met de last opties die datums en tijden gebruiken zijn (naar verluidt):

  • JJJJMMDDuummss
  • JJJJ-MM-DD uu: mm: ss
  • JJJJ-MM-DD uu: mm – seconden worden ingesteld op 00
  • JJJJ-MM-DD – tijd is ingesteld op 00:00:00
  • uu: mm: ss – datum is ingesteld op vandaag
  • uu: mm – datum wordt ingesteld op vandaag, seconden op 00
  • nu
  • gisteren – de tijd is ingesteld op 00:00:00
  • vandaag – de tijd is ingesteld op 00:00:00
  • morgen – de tijd is ingesteld op 00:00:00
  • + 5min
  • -5 dagen

Waarom ‘zogenaamd’?

Het tweede en derde format in de lijst werkten niet tijdens het onderzoek voor dit artikel. Deze commando’s zijn getest op Ubuntu-, Fedora- en Manjaro-distributies. Dit zijn afgeleiden van respectievelijk de Debian-, RedHat- en Arch-distributies. Dat omvat alle belangrijke families van Linux-distributie.

last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00

Uitvoer van een mislukte laatste opdracht in een terminalvenster

Zoals u kunt zien, retourneerde de opdracht helemaal geen records.

Als u de eerste datum- en tijdnotatie uit de lijst gebruikt met dezelfde datum en tijden als de vorige opdracht, worden records geretourneerd:

last -R -s 20190526110000 -t 20190527130000

laatste -R -s 20190526110000 -t 20190527130000 in een terminalvenster

Zoeken op relatieve eenheden

U geeft ook tijdsperioden op die worden gemeten in minuten of dagen, ten opzichte van de huidige datum en tijd. Hier vragen we records van twee dagen geleden tot een dag geleden.

last -R -s -2days -t -1days

laatste -R -s -2 dagen -t -1 dagen in een terminalvenster

Gisteren, vandaag en nu

Je kunt gebruiken yesterday en tomorrow als afkorting voor de datum van gisteren en de datum van vandaag.

last -R -s yesterday -t today

laatste -R -s gisteren -t vandaag in een terminalvenster

Niet dat dit geen records voor vandaag bevat. Dat is het verwachte gedrag. De opdracht vraagt ​​om records vanaf de startdatum tot de einddatum. Het niet omvatten records binnen de einddatum.

Uitvoer van de laatste -R -s gisteren -t vandaag in een terminalvenster

De now optie is een afkorting voor ‘vandaag op dit moment’. Gebruik deze opdracht om de inloggebeurtenissen te zien die hebben plaatsgevonden sinds 00:00 (zonsopgang) tot het moment waarop u de opdracht geeft:

last -R -s today -t now

laatste -R -s vandaag - t nu in een terminalvenster

Dit toont alle inloggebeurtenissen tot op het moment, inclusief degene die nog zijn ingelogd.

uitvoer van de laatste -R -s vandaag -t nu

De huidige optie

De -p Met de (huidige) optie kunt u achterhalen wie er op een bepaald moment was ingelogd.

Het maakt niet uit wanneer ze zich hebben aangemeld of afgemeld, maar als ze op de computer waren aangemeld op het tijdstip dat u opgeeft, worden ze in de lijst opgenomen.

Als u een tijd zonder datum opgeeft last gaat ervan uit dat je ‘vandaag’ bedoelt.

last -R -p 09:30

last -R -p 09:30 in een terminalvenster

Mensen die nog ingelogd zijn hebben (uiteraard) geen uitlogtijd; ze worden beschreven als still logged in . Als de computer niet opnieuw is opgestart sinds het tijdstip dat u opgeeft, wordt deze weergegeven als still running.

Uitvoer van de laatste -R -p 09:30

Als u de now steno met de -p (huidige) optie kunt u zien wie er is ingelogd op het moment dat u de opdracht geeft.

last -R -p now

last -R -p nu in een terminalvenster

Dit is een ietwat langdradige manier om te bereiken wat kan worden bereikt met de who opdracht.

Uitvoer van de laatste -R -p nu in een terminalvenster

VERWANT: Hoe u het huidige gebruikersaccount in Linux kunt bepalen

Het lastb-commando

De lastb commando verdient vermelding. Het leest gegevens uit een logboek genaamd btmp. Er is iets meer consensus over deze lognaam. De ‘b’ staat voor slecht, maar het ’tmp’-gedeelte is nog onderwerp van discussie.

lastb somt de slechte (mislukt) inlogpogingen. Het accepteert dezelfde opties als last. Omdat het mislukte inlogpogingen waren, hebben alle vermeldingen een duur van 00:00 uur.

Je moet gebruiken sudo met lastb.

sudo lastb -R

lastb - R in een terminalvenster

Het laatste woord over de kwestie

Weten wie zich op uw Linux-computer heeft aangemeld, wanneer, en waar vandaan is nuttige informatie. Door dit te combineren met de details van mislukte inlogpogingen, kun je de eerste stappen zetten om verdacht gedrag te onderzoeken.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in