Que sont les fichiers utmp, wtmp et btmp sous Linux ?
Les fichiers utmp, wtmp et btmp n'ont rien à voir avec le temps. Ils stockent les enregistrements des activités liées à la connexion. Apprenez-en davantage à leur sujet.
Vous avez donc plongé en profondeur dans le système de fichiers Linux et avez trouvé ces 3 fichiers utmp, wtmp et btmp. Ça a l'air bizarre. Droite?
Ces fichiers sont utilisés pour stocker les informations de connexion de l'utilisateur, mais chaque fichier le fait différemment et est stocké dans les répertoires /var/run
et /var/log
. :
Dans ce didacticiel, je vais vous expliquer quels sont les fichiers utmp, wtmp et btmp sous Linux et vous expliquerai également comment afficher le contenu de ces fichiers.
Tout ce qu'ils font, c'est stocker les connexions des utilisateurs
Si vous ne le savez pas, Linux conserve une trace de chaque fois que vous vous connectez avec vos informations d'identification utilisateur et vient l'utilisation de ces 3 fichiers.
utmp
: il garde la trace des utilisateurs actuellement connectés.wtmp
: il garde une trace des données historiques de chaque activité de connexion et de déconnexion.btmp
: il conserve l'enregistrement des tentatives de connexion invalides.
N'oubliez pas qu'il s'agit de fichiers binaires et que vous ne pouvez pas utiliser la commande cat ni l'ouvrir dans l'éditeur de texte. Différents commandements leur sont assignés à cet effet.
Ça a l'air bien? Abordons maintenant chaque dossier individuellement et de manière détaillée.
Le fichier utmp
Le fichier utmp garde une trace de la session utilisateur en temps réel. En termes simples, en affichant le contenu du fichier utmp, vous pouvez lister les utilisateurs actuellement connectés.
Il est disponible dans le répertoire /var/run
et vous pouvez utiliser la commande ls pour lister le contenu de ce répertoire :
ls /var/run
Mais comme je l'ai mentionné plus tôt, vous ne pouvez pas utiliser la commande cat pour afficher le contenu du fichier utmp et vous devez utiliser des commandes spécifiques à cet effet.
Pour afficher le contenu du fichier utmp, vous pouvez utiliser la commande w
ou who
:
who
Une simple sortie indiquant qu’il n’y a qu’un seul utilisateur actuellement connecté !
Le fichier wtmp
Contrairement au fichier utmp, le fichier wtmp conserve les données historiques des utilisateurs connectés et déconnectés du système.
En termes simples, il contient les données historiques du fichier utmp.
Vous trouverez le wtmp situé dans le répertoire /var/log
et voici comment trouver le fichier wtmp
à l'aide de la commande ls :
ls /var/log
Pour afficher le contenu du fichier wtmp, vous devrez utiliser la commande last
:
last
Comme vous pouvez le voir, il répertoriera les enregistrements de connexion passés ainsi que l'utilisateur actuellement connecté au système.
De plus, il indique également l'heure de connexion et l'heure à laquelle l'utilisateur s'est déconnecté du système.
Le fichier btmp
Pensez à un scénario dans lequel vous entrez un mauvais mot de passe pour vous connecter à votre système et il ne vous permettra pas de vous connecter en disant « Mot de passe incorrect ».
Oui, il est également enregistré, et pour cela, il existe un fichier btmp sous Linux.
Le fichier btmp se trouve dans le répertoire /var/log
et vous pouvez utiliser la commande ls avec la commande grep pour obtenir la correspondance exacte :
ls /var/log | grep "btmp"
Vous pouvez demander quel est le fichier btmp.1
de la sortie ci-dessus ? Eh bien, vous pouvez trouver cela dans plusieurs fichiers journaux et c'est ce qu'on appelle la relocalisation des journaux.
La relocalisation des journaux est utilisée pour créer une archive d'anciens fichiers journaux afin de créer un seul fichier journal surdimensionné qui peut s'avérer trop volumineux à gérer.
Pour afficher le contenu du fichier btmp
, vous pouvez utiliser la commande lastb
:
lastb
L'image ci-dessus suggère qu'il y a eu deux tentatives de connexion à mon système. L'un utilisait le nom d'utilisateur sagar
et l'autre utilisait un nom d'utilisateur incorrect.
Bonus : affichez les données des fichiers utmp, wtmp et btmp à l'aide de la commande utmpdump
Bien que je ne recommande pas d'utiliser la commande utmpdump car elle n'offre pas grand-chose par rapport aux commandes spécifiques que j'ai expliquées plus tôt, il est toujours bon de connaître l'alternative.
Pour utiliser la commande utmpdump, tout ce que vous avez à faire est d’y ajouter le chemin du fichier et cela fonctionnera très bien.
Par exemple, voici comment afficher le contenu du fichier btmp à l'aide de la commande utmpdump :
utmpdump /var/log/btmp
De même, si vous souhaitez afficher le contenu du fichier utmp, alors vous utilisez ce qui suit :
utmpdump /var/run/utmp
Et pour imprimer le contenu du fichier wtmp, vous pouvez utiliser ce qui suit :
utmpdump /var/log/wtmp
C'est ça!
En savoir plus sur les différents fichiers de Linux
Vous voulez savoir ce qu'est le fichier /dev/null
de manière détaillée ? Voici un guide détaillé sur ce qu'est /dev/null sous Linux :
De même, voici un guide détaillé expliquant /dev/zero sous Linux :
J'espère que vous trouverez ce guide utile.