Comment utiliser la dernière commande sous Linux

Qui, quand et d’où? Les bonnes pratiques de sécurité indiquent que vous devez savoir qui a accédé à votre ordinateur Linux. Nous vous montrons comment.

Le fichier wtmp

Linux et d’autres systèmes d’exploitation de type Unix tels que MacOS sont très bons pour la journalisation. Quelque part dans les entrailles du système, il y a un journal pour à peu près tout ce à quoi vous pouvez penser. Le fichier journal qui nous intéresse s’appelle wtmp. Le «w» pourrait signifier «quand» ou «qui» – personne ne semble être d’accord. La partie «tmp» signifie probablement «temporaire», mais elle peut également signifier «horodatage».

Ce que nous savons, c’est que wtmp est un journal qui capture et enregistre chaque événement de connexion et de déconnexion. Examen des données dans le wtmp log est une étape de base pour adopter une approche axée sur la sécurité dans vos tâches d’administrateur système. Pour un ordinateur familial typique, ce n’est peut-être pas si critique du point de vue de la sécurité, mais il est intéressant de pouvoir revoir votre utilisation combinée de l’ordinateur.

Contrairement à de nombreux fichiers journaux textuels sous Linux, wtmp est un fichier binaire. Pour accéder aux données qu’il contient, nous devons utiliser un outil conçu pour cette tâche.

Cet outil est le last commander.

La dernière commande

Le last la commande lit les données du wtmp log et l’affiche dans une fenêtre de terminal.

Si vous tapez last et appuyez sur Entrée, afficher tous les enregistrements à partir du fichier journal.

last

Chaque enregistrement de wtmp s’affiche dans la fenêtre du terminal.

De gauche à droite, chaque ligne contient:

  • Le Nom d’utilisateur de la personne qui s’est connectée.
  • Le Terminal ils étaient connectés. Une entrée terminale de :0 signifie qu’ils étaient connectés sur l’ordinateur Linux lui-même.
  • Le adresse IP de la machine à laquelle ils étaient connectés.
  • Le connexion horodatage.
  • Le durée de la session.

La dernière ligne nous indique la date et l’heure de la première session enregistrée dans le journal.

Une entrée de connexion pour l’utilisateur fictif «reboot» est inscrite dans le journal à chaque démarrage de l’ordinateur. Le champ terminal est remplacé par la version du noyau. La durée de la session connectée pour ces entrées représente le temps de fonctionnement de l’ordinateur.

Affichage d’un nombre spécifique de lignes

En utilisant le last La commande à elle seule produit un vidage de l’intégralité du journal, la plupart passant devant la fenêtre du terminal. La partie qui reste visible correspond aux données les plus anciennes du journal. Ce n’est probablement pas ce que vous vouliez voir.

Tu peux dire last pour vous donner un nombre spécifique de lignes de sortie. Pour ce faire, indiquez le nombre de lignes que vous souhaitez sur la ligne de commande. Notez le trait d’union. Pour voir cinq lignes, vous devez taper -5 et pas 5:

En relation :  Skin Gamora Fortnite : date de sortie, prix et comment acheter
last -5

Cela donne les cinq premières lignes du journal, qui sont les données les plus récentes.

Affichage des noms de réseau pour les utilisateurs distants

Le -d L’option (Domain Name System) indique last pour essayer de résoudre les adresses IP des utilisateurs distants en un nom de machine ou de réseau.

last -d

Ce n’est pas toujours possible pour last pour convertir l’adresse IP en un nom de réseau, mais la commande le fera quand elle le pourra.

Masquage des adresses IP et des noms de réseau

Si vous n’êtes pas intéressé par l’adresse IP ou le nom du réseau, utilisez le -R (pas de nom d’hôte) pour supprimer ce champ.

Étant donné que cela donne une sortie plus nette sans enveloppements laids, cette option a été utilisée dans tous les exemples suivants. Si vous utilisiez last pour essayer d’identifier une activité inhabituelle ou suspecte, vous ne pas supprimer ce champ.

Sélection d’enregistrements par date

Vous pouvez utiliser le -s (depuis) ​​option pour restreindre la sortie pour afficher uniquement les événements de connexion qui ont eu lieu depuis une date spécifique.

Si vous ne vouliez voir que les événements de connexion qui ont eu lieu à partir du 26 mai 2019, vous utiliseriez la commande suivante:

last -R -s 2019-05-26

La sortie affiche les enregistrements avec des événements de connexion qui ont eu lieu à partir de l’heure 00:00 le jour spécifié, jusqu’aux enregistrements les plus récents du fichier journal.

Recherche jusqu’à une date de fin

Vous pouvez utiliser le -t (jusqu’à) pour spécifier une date de fin. Cela vous permet de sélectionner un ensemble d’enregistrements de connexion qui ont eu lieu entre deux dates d’intérêt.

Cette commande demande last pour récupérer et afficher les enregistrements de connexion de 00h00 (aube) le 26 à 00h00 (aube) le 27. Cela réduit la liste aux sessions de connexion qui ont eu lieu le 26 uniquement.

Formats d’heure et de date

Vous pouvez utiliser des heures ainsi que des dates avec le -s et -t options.

Les différents formats d’heure utilisables avec le last les options qui utilisent des dates et des heures sont (prétendument):

  • AAAAMMJJhhmmss
  • AAAA-MM-JJ hh: mm: ss
  • AAAA-MM-JJ hh: mm – les secondes sont définies sur 00
  • AAAA-MM-JJ – l’heure est réglée sur 00:00:00
  • hh: mm: ss – la date est définie sur aujourd’hui
  • hh: mm – la date sera définie sur aujourd’hui, les secondes sur 00
  • à présent
  • hier – l’heure est réglée à 00:00:00
  • aujourd’hui – l’heure est réglée à 00:00:00
  • demain – l’heure est réglée à 00:00:00
  • + 5min
  • -5 jours

Pourquoi «prétendument»?

Les deuxième et troisième formats de la liste n’ont pas fonctionné pendant la recherche de cet article. Ces commandes ont été testées sur les distributions Ubuntu, Fedora et Manjaro. Ce sont des dérivés des distributions Debian, RedHat et Arch, respectivement. Cela couvre toutes les principales familles de distribution Linux.

En relation :  Xbox Series X vs Xbox Series S: que devriez-vous acheter?
last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00

Comme vous pouvez le voir, la commande n’a renvoyé aucun enregistrement.

L’utilisation du premier format de date et d’heure de la liste avec la même date et heure que la commande précédente renvoie des enregistrements:

last -R -s 20190526110000 -t 20190527130000

Recherche par unités relatives

Vous spécifiez également des périodes de temps mesurées en minutes ou en jours, par rapport à la date et à l’heure actuelles. Ici, nous demandons des enregistrements d’il y a deux jours jusqu’à il y a un jour.

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

Hier, aujourd’hui et maintenant

Vous pouvez utiliser yesterday et tomorrow comme raccourci pour la date d’hier et la date d’aujourd’hui.

last -R -s yesterday -t today

Non pas que cela n’inclura aucun enregistrement pour aujourd’hui. C’est le comportement attendu. La commande demande des enregistrements à partir de la date de début jusqu’à la date de fin. Ça ne fait pas comprendre enregistrements à partir de la date de fin.

Le now L’option est un raccourci pour «aujourd’hui à l’heure actuelle». Pour voir les événements de connexion qui ont eu lieu depuis 00h00 (aube) jusqu’au moment où vous émettez la commande, utilisez cette commande:

last -R -s today -t now

Cela affichera tous les événements de connexion à l’heure actuelle, y compris ceux qui sont toujours connectés.

sortie du dernier -R -s aujourd'hui -t maintenant

L’option actuelle

Le -p (présent) vous permet de savoir qui était connecté à un moment donné.

Peu importe le moment où ils se sont connectés ou déconnectés, mais s’ils étaient connectés à l’ordinateur au moment que vous spécifiez, ils seront inclus dans la liste.

Si vous spécifiez une heure sans date last suppose que vous voulez dire «aujourd’hui».

last -R -p 09:30

Les personnes qui sont toujours connectées (évidemment) n’ont pas d’heure de déconnexion; ils sont décrits comme still logged in . Si l’ordinateur n’a pas été redémarré depuis l’heure que vous spécifiez, il sera répertorié comme still running.

Sortie du dernier -R -p 09:30

Si vous utilisez le now sténographie avec le -p (présent), vous pouvez savoir qui est connecté au moment où vous émettez la commande.

last -R -p now

C’est une façon quelque peu longue de réaliser ce qui peut être accompli en utilisant le who commander.

Bientôt: Comment déterminer le compte d’utilisateur actuel sous Linux

La commande lastb

Le lastb la commande mérite d’être mentionnée. Il lit les données d’un journal appelé btmp. Il y a un peu plus de consensus sur ce nom de journal. Le «b» signifie mauvais, mais la partie «tmp» est toujours sujette à débat.

lastb liste les mauvais (manqué) tentatives de connexion. Il accepte les mêmes options que last. Comme il s’agissait de tentatives de connexion infructueuses, leurs entrées auront toutes une durée de 00:00.

Tu dois utiliser sudo avec lastb.

sudo lastb -R

Le dernier mot sur la matière

Savoir qui s’est connecté à votre ordinateur Linux, quand et d’où sont des informations utiles. Combiner cela avec les détails des tentatives de connexion infructueuses vous donne les premières étapes pour enquêter sur un comportement suspect.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.