GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver les derniers utilisateurs connectés sous Linux

Dans ce tutoriel, nous verrons comment trouver les derniers utilisateurs connectés sous Linux en utilisant last , lastb et lastlog commandes avec des exemples.

Présentation

En tant qu'administrateur système Linux, vous devez vérifier régulièrement la date et l'heure de connexion des utilisateurs de votre serveur Linux. Il vous donne des détails utiles tels que le nombre d'utilisateurs actifs, combien d'utilisateurs sont inactifs et quand se connectent-ils et pour combien de temps, etc.

Si certains comptes d'utilisateurs n'ont pas été utilisés depuis longtemps, vous pouvez simplement les verrouiller s'ils ne sont plus nécessaires. Vous pouvez également utiliser les dernières dates de connexion lors de l'audit de vos serveurs Linux et rechercher quel utilisateur pourrait être à l'origine du problème.

Heureusement, le système d'exploitation GNU/Linux inclut les commandes triplet à savoir last , lastb et lastlog pour afficher les dates de connexion des utilisateurs récents.

1. Afficher la liste des derniers utilisateurs connectés sous Linux avec la dernière commande

Comme son nom l'indique, le lastb La commande est utilisée pour afficher les derniers utilisateurs connectés dans les systèmes Linux et Unix. Il lit le /var/log/wtmp fichier et trouve tous les utilisateurs connectés et déconnectés depuis la création de ce fichier. Vous pouvez également répertorier les dates de connexion récentes d'un utilisateur spécifique et même trouver qui a redémarré le système Linux à l'aide de lastb commande.

Veuillez noter que votre système enregistre uniquement les informations dans le wtmp dossier. Si ce fichier n'est pas disponible pour une raison quelconque, créez-le simplement avec touch commande comme ci-dessous :

$ sudo touch /var/log/wtmp

Découvrons maintenant les dates et heures de connexion récentes avec lastb commande.

Pour afficher les dernières connexions, leur durée et d'autres informations dans votre système Linux, exécutez simplement :

$ dernier

Exemple de résultat :

ostechni pts/0 192.168.225.37 Jeu 7 janvier 08:30 toujours connecté inostechni tty1 Jeu 7 janvier 08:29 toujours connecté reboot system boot 5.4.0-53-generic Jeu 7 janvier 08:20 toujours en cours d'exécutionreboot system boot 5.4. 0-48-generic Ven Nov 20 10:13 - 11:44 (01:31)...reboot system boot 5.4.0-33-generic Wed Jul 8 08:49 - 11:41 (02:52)ostechni web console Lun 6 Juil 08:19 - 08:20 (00:00)ostechni pts/2 192.168.225.37 Lun 6 Juil 08:14 - 08:30 (00:15)ostechni pts/0 192.168.225.37 Lun 6 Juil 07:41 - 12:27 (04:45)reboot system boot 5.4.0-33-generic Lundi 6 juillet 07:21 - 12:27 (05:06)ostechni pts/3 192.168.225.37 Samedi 4 juillet 12:01 - 12 :12 (00:10)ostechni pts/2 192.168.225.37 sam. 4 juil. 11:14 - 13:01 (01:46)ostechni pts/0 192.168.225.37 sam. 4 juil. 07:55 - 13:01 (05:05 )reboot system boot 5.4.0-33-generic Sam 4 juillet 07:53 - 13:03 (05:09) ostechni tty1 Ven 29 mai 10:07 - down (00:00)reboot system boot 5.4.0-33-generic Ven 29 mai 10:06 - 10:07 (00:01) ostechni pts/0 192.168.225.37 Ven 29 mai 09:36 - 10:06 ( 00:29)ostechni tty1 ven. 29 mai 09:36 - down (00:29)reboot system boot 5.4.0-31-generic ven. 29 mai 09:35 - 10:06 (00:30)ostechni tty1 dim. 24 mai 13 :17 - down (00:02)reboot system boot 5.4.0-31-generic Dim 24 mai 13:16 - 13:20 (00:03)wtmp commence Dim 24 mai 13:16:52 2020

Comme vous le voyez dans la sortie ci-dessus, la dernière commande affiche les détails suivants des connexions récentes :

  • Nom de l'utilisateur. Si un utilisateur est toujours connecté, il affichera également ces détails.
  • Type de terminal (par exemple, tty ou pts) sur lequel la session a eu lieu.
  • Adresse IP source ou nom d'hôte à partir duquel l'utilisateur s'est connecté.
  • La date et l'heure de connexion (c'est-à-dire les heures de début et de fin de la session de connexion).
  • La durée totale de la session.
  • La dernière ligne indique la date et l'heure de la première session enregistrée dans le wtmp fichier journal.

Dans la sortie ci-dessus, vous avez peut-être remarqué qu'il existe une entrée de connexion d'un utilisateur spécial nommé reboot . Le lastb La commande conserve les enregistrements de cet utilisateur à chaque démarrage de l'ordinateur.

Lorsque nous exécutons lastb commande sans aucune option, elle affichera l'intégralité de la sortie du journal. Il dispose de nombreuses options pour filtrer, formater et limiter la sortie selon vos préférences. J'ai inclus des exemples pour les options les plus courantes.

1.1. Limiter la sortie à un utilisateur spécifique

Comme indiqué déjà, le lastb La commande répertorie toutes les connexions récentes enregistrées dans le wtmp dossier. Si vous souhaitez afficher les connexions récentes d'un utilisateur spécifique (c'est-à-dire afficher toutes les connexions d'un utilisateur spécifique), par exemple ostechnix , la commande serait :

$ dernier ostechnix

Exemple de résultat :

ostechni pts/0 192.168.225.37 Jeu 7 janvier 08:30 toujours connecté inostechni tty1 Jeu 7 janvier 08:29 toujours connecté inostechni pts/0 192.168.225.37 Mer 6 janvier 11:02 - 13:31 (02:28) [...]

Vous pouvez également spécifier plusieurs noms d'utilisateur séparés par des virgules comme ci-dessous :

$ dernier ostechnix sk

1.2. Limiter la sortie à des tty ou pts spécifiques

Le lastb La commande conserve l'enregistrement du type de terminal (par exemple, tty ou pts) sur lequel la session a eu lieu.

Supposons, par exemple, que les utilisateurs se soient connectés à la machine Linux soit localement, soit via ssh. Si vous souhaitez limiter la sortie à un tty spécifique , lancez simplement :

$ dernier tty1

Exemple de résultat :

ostechni tty1 jeu 7 janvier 08:29 toujours connecté inostechni tty1 mer 6 janvier 11:00 - down (02:31)ostechni tty1 ven 20 nov 11:52 - down (00:38)[...] 

Les noms des ttys peuvent être abrégés. Par exemple, vous pouvez exécuter last 1 au lieu de last tty1 .

De même, pour ne lister que les pts connexions des sessions, lancez :

$ derniers points/0 ostechni pts/0 192.168.225.37 Jeu 7 janvier 08:30 toujours connecté inostechni pts/0 192.168.225.37 Mer 6 janvier 11:02 - 13:31 (02:28)sk pts/0 192.168.225.37 Mer 6 janvier 11:02 - 11:02 (00:00)[...]

Vous pouvez également spécifier plusieurs noms d'utilisateur avec des ttys comme ci-dessous :

$ last ostechnix sk pts/0 tty1

1.3. Limiter la sortie à un nombre spécifique de lignes

Le wtmp Le fichier journal peut contenir un grand nombre d'entrées. Si vous souhaitez restreindre la sortie de last commande à un certain nombre de lignes, utilisez -n drapeau comme ci-dessous :

$ dernier -n 5

Ou,

dernier -5 $

La commande ci-dessus n'affichera que les 5 lignes dans la sortie :

ostechni pts/0 192.168.225.37 Jeu 7 janvier 08:30 toujours connecté inostechni tty1 Jeu 7 janvier 08:29 toujours connecté dansreboot system boot 5.4.0-53-generic Jeu 7 janvier 08:20 toujours en cours d'exécutionostechni pts/0 192.168 .225.37 Mer 6 janvier 11:02 - 13:31 (02:28)sk pts/0 192.168.225.37 Mer 6 janvier 11:02 - 11:02 (00:00)wtmp commence le dimanche 24 mai 13:16:52 2020 

1.4. Afficher le nom d'hôte au lieu de l'adresse IP

Par défaut, lastb La commande affiche l'adresse IP source à partir de laquelle l'utilisateur l'a connectée. Si vous souhaitez afficher le nom d'hôte au lieu de l'adresse IP, utilisez -d (ou --dns ) :

$ dernier -d -5

Vous pouvez également afficher les noms d'utilisateur complets et les noms de domaine dans la sortie avec -w (ou --fullnames ).

1.5. Cacher le nom d'hôte et l'adresse IP

Pour supprimer le champ hostname ou IP, utilisez -R option.

$ dernier -5 -R

Exemple de résultat :

ostechni pts/0 Jeu 7 janvier 08:30 toujours connecté inostechni tty1 Jeu 7 janvier 08:29 toujours connectéreboot system boot Jeu 7 janvier 08:20 toujours en cours d'exécutionostechni pts/0 Mer 6 janvier 11:02 - 13:31 ( 02:28)sk pts/0 Mer 6 janvier 11:02 - 11:02 (00:00)wtmp commence le dimanche 24 mai 13:16:52 2020

1.6. Afficher les enregistrements de connexion des utilisateurs à une heure précise

Le -p (ou --present ) est utilisée pour trouver qui était connecté actuellement ou à une heure spécifiée.

Par exemple, exécutez la commande suivante pour répertorier les derniers utilisateurs connectés à 8h30 aujourd'hui :

$ dernier -p 08:30

Exemple de résultat :

ostechni tty1 Jeu 7 janvier 08:29 toujours connectéreboot system boot 5.4.0-53-generic Jeu 7 janvier 08:20 toujours en cours d'exécutionwtmp commence le dimanche 24 mai 13:16:52 2020

Pour répertorier qui est actuellement connecté (c'est-à-dire au moment de l'exécution de cette commande, exécutez :

$ dernier -p maintenant

1.7. Afficher les utilisateurs connectés dans un intervalle de temps spécifique

Le lastb La commande a deux options à savoir -s (--since ) et -t (--until ) pour afficher les utilisateurs connectés au cours d'une période donnée. Le -s L'option est utilisée pour afficher l'état des connexions depuis l'heure spécifiée et le -t L'option est utilisée pour afficher l'état des connexions jusqu'à l'heure spécifiée.

Par exemple, si vous souhaitez afficher les dernières connexions qui ont eu lieu depuis le 2021-01-07 au 2021-01-11 , la commande est :

$ dernier -s 2021-01-07 -t 2021-01-11

Exemple de résultat :

ostechni pts/0 192.168.225.37 Jeu 7 janvier 08:30 - 13:16 (04:46)ostechni tty1 Jeu 7 janvier 08:29 - down (04:47)reboot system boot 5.4.0-53-generic Jeu 7 janvier 08:20 - 13:16 (04:56)wtmp commence Dim 24 mai 13:16:52 2020

Pour afficher les connexions récentes depuis hier à aujourd'hui , exécutez :

$ dernier -s hier -t aujourd'hui

Si vous souhaitez uniquement répertorier les enregistrements de connexion depuis le 07 janvier 2021 jusqu'à ce jour, exécutez :

$ last -s 2021-01-07 ostechni pts/0 192.168.225.37 Lun 11 janvier 06:39 toujours connecté au démarrage du système de redémarrage 5.4.0-59-generic Lun 11 janvier 06:37 toujours en cours d'exécutionostechni pts/0 192.168.225.37 Jeu 7 janvier 08:30 - 13:16 ( 04:46)ostechni tty1 Jeu 7 janvier 08:29 - down (04:47)reboot system boot 5.4.0-53-generic Jeu 7 janvier 08:20 - 13:16 (04:56)wtmp commence le dimanche 24 mai 13 :16:52 2020

1.8. Afficher les derniers utilisateurs connectés avec la date et l'heure complètes

Le -F (--fulltimes ) est utilisée pour afficher la date et l'heure complètes de connexion et de déconnexion en lastb sortie de la commande.

$ dernier -5 -F

Exemple de résultat :

ostechni pts/0 192.168.225.37 Lun Jan 11 06:39:29 2021 toujours connecté[...]

1.9. Afficher le nom d'hôte dans la dernière colonne

Le -a (--hostlast ) est utilisée pour afficher la colonne du nom d'hôte en dernier pour éviter la troncature.

$ dernier -d -a ostechni pts/0 Lun Jan 11 06:39 toujours connecté ostechnix [...]

1.10. Afficher les derniers enregistrements de connexion du pseudo-utilisateur "reboot"

Comme je l'ai mentionné précédemment, la dernière commande conserve l'enregistrement d'un pseudo utilisateur spécial nommé "reboot" et "shutdown".

Pour afficher les dernières informations de connexion des utilisateurs "reboot" et "shutdown", utilisez les commandes suivantes :

$ dernier redémarrage
$ dernier arrêt

2. Afficher les tentatives de connexion infructueuses à l'aide de lastb sous Linux

Le lastb est identique au lastb commande, mais elle répertorie uniquement toutes les tentatives de connexion incorrectes. Il obtient les informations de connexion ayant échoué à partir du /var/log/btmp fichier.

Veuillez noter que votre système enregistre uniquement les informations dans le btmp fichier s'il est présent. Si ce fichier n'est pas disponible pour une raison quelconque, créez-le simplement avec touch commande comme ci-dessous :

$ sudo touch /var/log/btmp

Nous pouvons maintenant afficher les tentatives de connexion infructueuses à l'aide de la commande lastb comme ci-dessous :

$ sudo lastb

Exemple de résultat :

INCONNU tty1 Lundi 11 janvier 07:51 - 07:51 (00:00)sk tty1 Lundi 11 janvier 07:51 - 07:51 (00:00)INCONNU tty1 Lundi 11 janvier 07:51 - 07:51 ( 00:00)sk tty1 Lundi 11 janvier 07:51 - 07:51 (00:00)ostechni ssh:notty 192.168.225.37 Lundi 11 janvier 07:49 - 07:49 (00:00)ostechni ssh:notty 192.168.225.37 Lundi 11 janvier 07:49 - 07:49 (00:00)ostechni ssh:notty 192.168.225.37 Lundi 11 janvier 07:49 - 07:49 (00:00)INCONNU tty1 Mercredi 6 janvier 10:59 - 10:59 ( 00:00)btmp commence le mercredi 6 janvier 10:59:57 2021

Les commandes ci-dessus répertorient toutes les tentatives de connexion infructueuses de tous les utilisateurs du système Linux. Il montre également les tentatives de connexion infructueuses qui ont eu lieu via SSH.

3. Trouver les derniers utilisateurs connectés sous Linux avec la commande lastlog

Le dernier journal La commande affiche la connexion la plus récente de tous les utilisateurs ou d'un utilisateur spécifique dans les systèmes d'exploitation Linux et Unix. Il récupère la liste des derniers utilisateurs connectés depuis /var/log/lastlog fichier et affiche le résultat dans la sortie standard.

Pour afficher la connexion la plus récente de tous les utilisateurs, exécutez :

$ lastlog

Exemple de résultat :

Port du nom d'utilisateur de Latestroot **Jamais connecté**daemon **Jamais connecté**bin **Jamais connecté**[...]systemd-coredump **Jamais connecté**ostechnix tty1 Mon Jan 11 07:51:46 +0000 2021lxd **Jamais connecté**dnsmasq **Jamais connecté**libvirt-qemu **Jamais connecté**libvirt-dnsmasq **Jamais connecté**cockpit-ws **Jamais connecté in**cockpit-wsinstance **Jamais connecté**libvirtdbus **Jamais connecté**_flatpak **Jamais connecté**sk pts/0 192.168.225.37 Wed Jan 6 11:02:17 +0000 2021root **Neve r connecté**personne **Jamais connecté**

Comme vous le voyez dans la sortie ci-dessus, lastlog La commande affiche les derniers enregistrements de connexion des comptes d'utilisateurs du système ainsi que d'autres comptes de service tels que bin , daemon , sys , mail , nobody etc

Le lastlog La commande imprime le nom de connexion, le port, l'adresse IP source à partir de laquelle l'utilisateur s'est connecté et la date et l'heure de la dernière connexion. Si un utilisateur ne s'est jamais connecté, il imprimera le message ** Never logged in** au lieu du port et de l'heure dans la sortie.

Vous vous demandez peut-être pourquoi de nombreux comptes de service ne se sont jamais connectés. C'est parce que les shells de connexion de ces comptes sont définis sur /sbin/nologin . Il s'agit d'une pratique de sécurité courante utilisée pour limiter l'accès direct au shell.

3.1. Afficher les détails de la dernière connexion d'un utilisateur spécifique

Si vous souhaitez afficher le dernier enregistrement de journal d'un utilisateur spécifié, par exemple ostechnix , la commande serait :

$ lastlog -u ostechnix

Exemple de résultat :

Port du nom d'utilisateur de Latestostechnix tty1 lundi 11 janvier 07:51:46 +0000 2021

3.2. Afficher les derniers enregistrements connectés antérieurs ou récents à X jours

Le lastlog La commande peut afficher les enregistrements de connexion récents antérieurs ou récents à X jours.

Par exemple, vous pouvez obtenir les enregistrements de connexion récents de tous les utilisateurs avant 5 jours en utilisant -b drapeau comme ci-dessous :

$ lastlog -b 5

De même, pour afficher les enregistrements de connexion plus récents que 5 jours, utilisez -t drapeau :

$ lastlog -t 5

3.3. Supprimez ou effacez les dernières informations de connexion à l'aide de lastlog sous Linux

Si vous ne voulez pas le dernier enregistrement de journal d'un utilisateur, effacez-le simplement en utilisant -C (--clear ) drapeau :

$ sudo lastlog -u ostechnix -C

Pour vérifier si l'enregistrement du journal est effacé, exécutez :

$ lastlog -u ostechnixUsername Port From Latestostechnix **Jamais connecté** 

Obtenir de l'aide

Pour plus de détails, reportez-vous à la section d'aide de la commande respective.

$ last --help
$ lastb --help
$ lastlog --help

Ou parcourez les pages de manuel de chaque commande :

$ homme en dernier
$ man lastb
$ man lastlog

Conclusion

Le lastb , lastb et lastlog Les commandes viennent dans rescue pour détecter les activités suspectes des utilisateurs dans un système Linux. Trouver qui s'est récemment connecté (ou déconnecté) du serveur Linux, quand s'est-il connecté et pendant combien de temps sont les détails importants qui vous aideront certainement lors des dépannages.

Lire connexe :

  • Comment rechercher des utilisateurs actuellement connectés sous Linux
  • Comment répertorier tous les utilisateurs sous Linux
  • Comment surveiller l'activité des utilisateurs sous Linux
  • Comment limiter l'accès des utilisateurs au système Linux

Linux
  1. Comment utiliser FIND sous Linux

  2. Comment changer le nom d'hôte sous Linux

  3. Comment trouver un fichier sous Linux

  4. Comment trouver tous les utilisateurs de Sudo sous Linux

  5. Comment trouver des fichiers modifiés au cours des 30 derniers jours sous Linux ?

Comment trouver des utilisateurs actuellement connectés sous Linux

Comment trouver le nom d'hôte sous Linux

Autorisations Linux - Comment trouver les autorisations d'un fichier

Comment trouver des fichiers modifiés au cours des dernières 24 heures sous Linux

Comment trouver la dernière connexion sous Linux

Comment voir les utilisateurs connectés sous Linux