Comment vérifier si un utilisateur est actuellement connecté sur Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier quels utilisateurs sont actuellement connectés à un système Linux. Vous explorerez des commandes fondamentales telles que who pour lister les utilisateurs connectés et w pour obtenir des informations plus détaillées sur leurs sessions et activités.

À la fin de ce laboratoire, vous serez en mesure d'identifier rapidement les utilisateurs actifs sur un système Linux et de comprendre les informations de base sur leurs sessions de connexion, y compris comment inspecter les enregistrements de connexion dans /var/run/utmp.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/UserandGroupManagementGroup -.-> linux/whoami("User Identifying") subgraph Lab Skills linux/cat -.-> lab-558775{{"Comment vérifier si un utilisateur est actuellement connecté sur Linux"}} linux/ps -.-> lab-558775{{"Comment vérifier si un utilisateur est actuellement connecté sur Linux"}} linux/whoami -.-> lab-558775{{"Comment vérifier si un utilisateur est actuellement connecté sur Linux"}} end

Lister les utilisateurs connectés avec who

Dans cette étape, vous apprendrez à lister les utilisateurs actuellement connectés au système en utilisant la commande who. Il s'agit d'une commande fondamentale pour les administrateurs de système et les utilisateurs afin de voir qui est actif sur le système.

La commande who affiche des informations sur les utilisateurs actuellement connectés. Ces informations incluent généralement le nom d'utilisateur, la ligne de terminal qu'ils utilisent, l'heure à laquelle ils se sont connectés et l'hôte distant depuis lequel ils se sont connectés (le cas échéant).

Essayons-le. Ouvrez votre terminal s'il n'est pas déjà ouvert. Vous pouvez trouver l'icône Xfce Terminal sur le côté gauche de votre bureau.

Tapez la commande suivante et appuyez sur Entrée :

who

Vous devriez voir une sortie similaire à celle-ci :

labex    :0           <timestamp> (:0)

Décortiquons la sortie :

  • labex : C'est le nom d'utilisateur de l'utilisateur connecté. Dans cet environnement LabEx, l'utilisateur par défaut est labex.
  • :0 : Cela indique la ligne de terminal ou l'affichage utilisé. :0 fait généralement référence à l'affichage graphique principal.
  • <timestamp> : Cela montre la date et l'heure à laquelle l'utilisateur s'est connecté. Le format exact et le contenu de l'horodatage peuvent varier légèrement.
  • (:0) : Cela fournit souvent des informations supplémentaires sur la session de connexion, dans ce cas, confirmant l'affichage.

La commande who est simple mais puissante pour vérifier rapidement qui utilise le système. C'est une bonne première étape pour comprendre l'activité des utilisateurs.

N'oubliez pas, la pratique est essentielle ! Essayez d'exécuter la commande plusieurs fois pour vous familiariser avec elle.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier les sessions utilisateur avec la commande w

Dans cette étape, vous allez explorer la commande w, qui fournit des informations plus détaillées sur les utilisateurs actuellement connectés et ce qu'ils font. Alors que who vous donne une liste rapide, w offre un instantané de l'activité actuelle du système liée aux sessions utilisateur.

La commande w montre qui est connecté et ce qu'ils font. C'est un outil pratique pour surveiller l'utilisation du système et identifier les processus actifs associés à chaque utilisateur.

Exécutons la commande w dans votre terminal. Si vous l'avez fermé, ouvrez de nouveau le Xfce Terminal.

Tapez la commande suivante et appuyez sur Entrée :

w

Vous devriez voir une sortie similaire à celle-ci :

 <timestamp> up <uptime>,  <users> users,  load average: <load_avg>
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
labex    :0       :0               <login_time>   <idle_time>   <jcpu_time>   <pcpu_time> w

Décortiquons les différentes parties de la sortie :

  • La première ligne fournit un résumé :
    • <timestamp> : L'heure actuelle.
    • up <uptime> : Depuis combien de temps le système est en marche depuis le dernier démarrage.
    • <users> users : Le nombre d'utilisateurs actuellement connectés.
    • load average: <load_avg> : La charge moyenne du système au cours des dernières 1, 5 et 15 minutes. Cela indique le nombre moyen de processus en attente d'exécution.
  • La ligne d'en-tête (USER, TTY, FROM, LOGIN@, IDLE, JCPU, PCPU, WHAT) décrit les colonnes suivantes pour chaque utilisateur connecté.
  • USER : Le nom d'utilisateur.
  • TTY : La ligne de terminal que l'utilisateur utilise.
  • FROM : L'hôte distant depuis lequel l'utilisateur s'est connecté (le cas échéant). Pour une session graphique locale comme celle-ci, cela montre souvent :0.
  • LOGIN@ : L'heure à laquelle l'utilisateur s'est connecté.
  • IDLE : Le temps d'inactivité du terminal.
  • JCPU : Le temps utilisé par tous les processus attachés au terminal.
  • PCPU : Le temps utilisé par le processus actuel.
  • WHAT : La ligne de commande du processus actuel de l'utilisateur. Dans ce cas, cela montre w car c'est la commande que vous venez d'exécuter.

La commande w vous donne une vue plus dynamique que who, montrant non seulement qui est connecté, mais aussi ce qu'ils font activement.

Expérimentez avec la commande w. Vous trouverez qu'elle est utile pour évaluer rapidement l'activité du système.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter les enregistrements de connexion dans /var/run/utmp

Dans cette étape, vous apprendrez à propos du fichier /var/run/utmp et comment des commandes telles que who et w obtiennent leurs informations à partir de celui-ci. Ce fichier est une partie cruciale de la manière dont Linux suit qui est connecté au système.

Le fichier /var/run/utmp est un fichier binaire qui contient des informations sur les utilisateurs actuellement connectés au système. Il est constamment mis à jour à mesure que les utilisateurs se connectent et se déconnectent. Des commandes telles que who, w et users lisent ce fichier pour afficher les informations de connexion actuelles.

Étant donné que /var/run/utmp est un fichier binaire, vous ne pouvez pas simplement afficher son contenu avec des commandes telles que cat ou less comme vous le feriez avec un fichier texte. Cela résulterait en des caractères illisibles.

Essayons d'afficher son contenu avec cat pour voir ce qui se passe (et comprendre pourquoi nous ne le faisons pas) :

cat /var/run/utmp

Vous verrez beaucoup de caractères brouillés, ce qui est normal pour un fichier binaire.

<binary_output>

Pour lire le contenu de /var/run/utmp dans un format lisible par l'homme, vous utilisez généralement des commandes conçues pour analyser ce fichier, telles que who ou w, que vous avez utilisées dans les étapes précédentes.

Une autre commande qui lit et affiche spécifiquement le contenu de /var/run/utmp est utmpdump. Cette commande est utile pour le débogage ou l'examen des données brutes dans le fichier.

Utilisons utmpdump pour afficher le contenu de /var/run/utmp.

utmpdump /var/run/utmp

Vous devriez voir une sortie structurée et lisible, montrant les enregistrements de chaque session de connexion. La sortie exacte dépendra de l'état actuel du système, mais elle ressemblera à ceci :

Utmp dump of /var/run/utmp
[<type>] [<pid>] [<line>] [<id>] [<user>] [<host>] [<exit>] [<session>] [<tv_sec>] [<tv_usec>] [<addr_v6>]
...
[7] [ <pid> ] [ :0 ] [ :0 ] [ labex  ] [ :0 ] [  0,  0 ] [ <session_id> ] [ <timestamp> ] [ <usec> ] [ <ipv6_address> ]
...

La sortie montre différents champs pour chaque entrée dans le fichier utmp, y compris le type d'entrée (comme la connexion d'un utilisateur), l'identifiant de processus, la ligne de terminal, le nom d'utilisateur, l'hôte, l'heure de connexion, etc.

Comprendre /var/run/utmp vous aide à apprécier comment Linux suit les sessions utilisateur et comment des commandes telles que who et w fonctionnent en coulisse.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier quels utilisateurs sont actuellement connectés sur un système Linux. Vous avez commencé par utiliser la commande who, qui fournit une liste de base des utilisateurs connectés, de leur terminal, de leur heure de connexion et de leur source. Cette commande est un outil fondamental pour identifier rapidement les utilisateurs actifs.

Après avoir utilisé la commande who, vous avez exploré la commande w. Bien que les détails complets de la commande w n'aient pas été fournis dans l'extrait, elle est présentée comme un outil qui offre des informations plus détaillées sur les utilisateurs connectés et leurs activités actuelles, allant au-delà de la simple liste fournie par who.