Lorsque vous travaillez dans un environnement Linux multi-utilisateurs, il est souvent essentiel de savoir avec quel compte utilisateur vous êtes actuellement connecté. Qu’il s’agisse de gérer des serveurs, d’automatiser des scripts ou de résoudre des problèmes d’autorisations, Linux propose plusieurs commandes pour afficher votre nom de connexion actuel.

Utiliser la commande whoami

La commande whoami est le moyen le plus simple d’afficher votre nom d’utilisateur actuel

Comment cela fonctionne-t-il ?

  • Lit l’identifiant effectif de l’utilisateur (EUID ) du processus en cours.
  • Recherche le nom d’utilisateur associé dans /etc/passwd.
  • Affiche toujours votre nom d’utilisateur actuel.

Meilleur cas d’utilisation :

  • Lorsque l’on utilise sudo ou que l’on change d’utilisateur, “whoami” affiche l ‘utilisateur actif.

Utiliser la commande id

La commande id fournit plus que votre nom d’utilisateur – elle indique l’ID de l’utilisateur (UID), l’ID du groupe (GID) et l’appartenance à un groupe. Commande id :

id -un#

Autre solution, sans drapeaux :

id

Comment cela fonctionne-t-il ?

  • Utilise la base de données des utilisateurs du système pour afficher les informations relatives à l’identité et au groupe.

  • -u → Affiche l’UID.

  • -n → Imprime le nom d’utilisateur au lieu des identifiants numériques.

Utilisation de la commande logname

La commande logname affiche le nom d’utilisateur original utilisé pour démarrer la session.

La commande :

logname##

Différence clé :

  • logname renvoie toujours le nom d’utilisateur utilisé pour se connecter à la session.

  • Si vous avez changé d’utilisateur via su ou sudo, le nom d’utilisateur d’origine est toujours affiché.

Utilisation de la commande “who

La commande who affiche tous les utilisateurs actuellement connectés et les détails de leur session.

Commande “who” :

who am i
#

Exemple de sortie :

john tty1 2025-08-29 09:12

Comment cela fonctionne-t-il ?

  • Lit les données de session dans /var/run/utmp.

  • Affiche le nom d’utilisateur original, le terminal et l’heure de connexion.

meilleur cas d’utilisation :

  • Lors de l’audit de sessions en cours ou d’environnements multi-utilisateurs.

Utilisation de la variable d’environnement $USER

Dans la plupart des distributions Linux, votre nom d’utilisateur actuel est stocké dans la variable d’environnement $USER.

Commande :

echo $USER
#

Exemple de sortie :

john

Comment cela fonctionne-t-il ?

  • Récupère la valeur de la variable $USER définie lors de la connexion.

  • Léger et très rapide.

Cas d’utilisation avancés

a) Dans les scripts Shell

#!/bin/bash
echo "Script executed by: $USER"
#

Utile pour l’automatisation de la journalisation.

b) Vérification des utilisateurs connectés sur un serveur

who
#

Exemple de sortie :

john pts/0 2025-08-29 10:20 (192.168.1.10)
alice pts/1 2025-08-29 10:30 (192.168.1.15)
####

Affiche tous les utilisateurs actifs.

c) Combiner avec ps pour les propriétaires de processus

ps -u $USER
#
  • Affiche tous les processus appartenant à l’utilisateur actuel.

Considérations de sécurité

  • Serveurs multi-utilisateurs : Vérifiez toujours votre utilisateur effectif avant d’exécuter des commandes privilégiées.

  • Contexte Sudo : Utilisez “whoami” au lieu de $USER pour éviter l’usurpation des variables d’environnement.

  • Scripts de journalisation : Préférez id -un pour un rapport précis du nom d’utilisateur.

Conclusion

Linux propose plusieurs commandes pour afficher votre nom de connexion actuel, mais chacune d’entre elles a un objectif légèrement différent :

  • Utilisez“whoami” pour l’identité de l’utilisateur actif.
  • Utilisez“id -un” lorsque vous avez également besoin d’informations sur le groupe.
  • Utilisez“logname” pour savoir qui s’est connecté à l’origine.
  • Utilisez echo $USER pour des recherches rapides et des scripts shell.

La compréhension de ces différences est essentielle pour l’administration du système, l’automatisation des scripts et l’audit de sécurité.