Linux / Commande who : consulter les sessions de connexion
who affiche les sessions de connexion enregistrées par le système, avec le nom du compte, le terminal et l'heure de connexion. Une origine distante peut aussi apparaître. Cette vue aide à examiner les connexions enregistrées ; elle ne recense pas tous les processus ni tous les accès réseau possibles.
Afficher les sessions et lire une ligne
who
Exemple fictif, dont les valeurs et la présentation changent selon le système :
alice pts/0 2026-09-28 09:00 (192.0.2.10)
Le nom alice désigne le compte enregistré, pts/0 son terminal, puis viennent la date et l'heure de connexion. L'adresse entre parenthèses représente ici une origine distante d'exemple. Selon le type de session, cette dernière information peut être différente ou absente.
L'heure affichée suit le fuseau configuré, ou celui défini par la variable TZ. Il ne s'agit pas du temps écoulé depuis la dernière activité. Si le même compte ouvre plusieurs terminaux enregistrés, il peut apparaître sur plusieurs lignes.
Choisir les en-têtes, le résumé ou les détails
Pour repérer les colonnes, demandez une ligne d'en-tête :
who -H
Les intitulés et le format exact peuvent varier avec l'implémentation et la locale. Cette option aide à lire les résultats ; elle ne rend pas tous les formats identiques entre distributions.
Pour un résumé des noms et du nombre d'entrées de connexion :
who -q
Le même compte peut être compté plusieurs fois s'il possède plusieurs sessions enregistrées. Ne confondez donc pas ce nombre avec celui des comptes distincts de la machine, ni avec le nombre de personnes physiques connectées. Avec GNU who, cette option de résumé prend le pas sur les autres options.
Pour ajouter notamment le temps d'inactivité :
who -u
GNU who utilise . pour une activité dans la dernière minute et old pour une inactivité supérieure à 24 heures. Une durée d'inactivité ne prouve pas que toute activité du compte s'est arrêtée : un processus peut continuer sans saisie sur ce terminal.
Interpréter une sortie vide ou incomplète
Who utilise les informations de connexion disponibles, généralement les enregistrements de type utmp sur les systèmes qui les fournissent. Un conteneur, un environnement minimal ou un traitement sans session enregistrée peut ne produire aucune ligne, alors que des processus s'exécutent bien.
Si une connexion attendue manque, vérifiez d'abord dans quel environnement vous avez lancé who et si le mécanisme de connexion y produit ces enregistrements. Comparez ensuite avec les informations du service concerné et ses journaux de connexion ou d'authentification, selon votre besoin et vos droits d'accès. La sortie de who ne constitue pas à elle seule un audit complet.
Une absence de ligne et une erreur d'exécution sont aussi deux situations différentes. Lisez le diagnostic et contrôlez le statut de la commande avant de conclure qu'une consultation s'est déroulée normalement.
Distinguer who, whoami, id et w
| Commande | Rôle |
|---|---|
who |
Examiner les sessions de connexion enregistrées. |
whoami |
Afficher le nom associé à l'utilisateur effectif du processus courant. |
id |
Afficher les identifiants et groupes d'un processus ou d'un compte. |
w |
Présenter les utilisateurs connectés avec des informations sur leur activité. |
Pour connaître votre identité effective, utilisez whoami. Pour examiner un UID, un GID et les groupes, utilisez id. Le fait que who affiche un compte connecté n'indique pas les permissions du processus qui lance votre commande.
GNU who propose aussi -b pour afficher la dernière heure de démarrage enregistrée du système :
who -b
Cette information dépend, elle aussi, des enregistrements disponibles. Vérifiez man who pour l'implémentation installée. Le manuel officiel de GNU who précise les champs, les options et les sources de données utilisées.




