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 delast 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 tty11.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 delast
commande à un certain nombre de lignes, utilisez-n
drapeau comme ci-dessous :$ dernier -n 5Ou,
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 20201.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 -5Vous 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 -RExemple 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 20201.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:30Exemple 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 2020Pour répertorier qui est actuellement connecté (c'est-à-dire au moment de l'exécution de cette commande, exécutez :
$ dernier -p maintenant1.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
au2021-01-11
, la commande est :$ dernier -s 2021-01-07 -t 2021-01-11Exemple 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 2020Pour afficher les connexions récentes depuis hier à aujourd'hui , exécutez :
$ dernier -s hier -t aujourd'huiSi 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 20201.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 enlastb
sortie de la commande.$ dernier -5 -FExemple 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êt2. Afficher les tentatives de connexion infructueuses à l'aide de lastb sous Linux
Le
lastb
est identique aulastb
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 avectouch
commande comme ci-dessous :$ sudo touch /var/log/btmpNous pouvons maintenant afficher les tentatives de connexion infructueuses à l'aide de la commande lastb comme ci-dessous :
$ sudo lastbExemple 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 2021Les 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 :
$ lastlogExemple 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 quebin
,daemon
,sys
,nobody
etcLe
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 ostechnixExemple de résultat :
Port du nom d'utilisateur de Latestostechnix tty1 lundi 11 janvier 07:51:46 +0000 20213.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 5De même, pour afficher les enregistrements de connexion plus récents que 5 jours, utilisez
-t
drapeau :$ lastlog -t 53.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 -CPour 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 --helpOu parcourez les pages de manuel de chaque commande :
$ homme en dernier$ man lastb$ man lastlogConclusion
Le
lastb
,lastb
etlastlog
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