La commande who sous Linux répertorie tous les utilisateurs connectés sur le système. C'est assez simple à utiliser.
Entrez simplement qui dans la ligne de commande et tous les utilisateurs actuellement connectés sur votre système Linux seront affichés.
[email protected]:~# who
root pts/0 2020-02-03 06:48 (152.72.29.73)
john pts/1 2020-02-03 07:02 (187.41.92.90)
jane pts/2 2020-02-03 07:02 (252.142.106.85)
N'oubliez pas qu'il n'affiche que les utilisateurs actuellement connectés à votre système. Il existe d'autres moyens de voir tous les utilisateurs sur un système Linux comme compgen.
La commande who a quelques options pour obtenir d'autres informations spécifiques sur les utilisateurs connectés.
Utiliser la commande who sous Linux
Voici la syntaxe de la commande who :
who [options] [filename]
Vous avez déjà vu quelles informations la commande who affiche sans aucune option. Voyons maintenant quelles options il offre.
Imprimer le temps d'inactivité des utilisateurs
En plus des informations régulières, vous pouvez également imprimer le temps d'inactivité des utilisateurs. Si un utilisateur n'a rien saisi pendant un certain temps, cela est considéré comme un temps d'inactivité.
who -u
Comme vous pouvez le voir dans la sortie ci-dessous, l'utilisateur john est resté inactif pendant 2 minutes et 3 secondes.
[email protected]:~# who -u
root pts/0 2020-02-03 06:48 . 10669 (152.72.29.73)
john pts/2 2020-02-03 07:02 02:03 31528 (187.41.92.90)
Que pourriez-vous faire avec ces informations ? Une utilisation pratique consiste à implémenter une couche de sécurité supplémentaire en déconnectant automatiquement les utilisateurs qui sont inactifs pendant plus d'un certain temps.
Afficher uniquement les noms d'utilisateur (et leur nombre)
Avec l'option -q, vous ne pouvez afficher que les utilisateurs connectés et leur nombre.
[email protected]:~# who -q
root john jane
# users=3
Ceci est similaire à la sortie de la "commande des utilisateurs", à l'exception du nombre d'utilisateurs connectés.
Vérifier si les utilisateurs peuvent recevoir ou non un message instantané
Saviez-vous que les utilisateurs peuvent s'envoyer des messages dans un terminal Linux à l'aide d'outils de ligne de commande tels que mesg ? Bien sûr, c'est à l'utilisateur de décider s'il souhaite ou non recevoir de tels messages.
Vous pouvez vérifier si un utilisateur peut recevoir des messages ou non en utilisant l'option -T :
who -T
Dans la sortie ci-dessous, le + signifie oui et - signifie non. Si vous voyez ?, cela signifie inconnu.
[email protected]:~# who -T
root - pts/0 2020-02-03 06:48 (152.72.29.73)
john + pts/2 2020-02-03 07:02 (187.41.92.90)
Afficher des informations sur vous-même
Sorte d'alternative whoami. Il affiche les informations de l'utilisateur mais uniquement pour vous-même (c'est-à-dire l'utilisateur associé au terminal actuel).
who -m
Vérifier l'heure du dernier démarrage du système
Un peu similaire à la commande uptime, vous pouvez obtenir des informations sur la dernière fois que votre système a démarré en utilisant l'option -b de la commande who :
who -b
Comme vous pouvez le voir, mon serveur de test a été démarré pour la dernière fois à 09h41 le 19 décembre 2019.
[email protected]:~# who -b
system boot 2019-12-19 09:41
Imprimer le nom d'hôte des utilisateurs connectés
Cela pourrait fonctionner pour les utilisateurs du même sous-réseau. Avec l'option –recherche , vous pouvez afficher le nom d'hôte des utilisateurs connectés.
Vérifier les anciennes connexions et les informations sur les mauvaises connexions
Vous savez probablement que dans la hiérarchie du système de fichiers Linux, stocke les informations d'exécution et les journaux.
La commande Who récupère les informations de /var/run/utmp. Vous pouvez spécifier d'autres fichiers journaux pour obtenir des informations différentes.
Par exemple, vous pouvez obtenir des informations sur les connexions passées si vous utilisez le fichier /var/log/wtmp.
[email protected]:~# who /var/log/wtmp
root pts/0 2020-02-03 06:48 (152.72.29.73)
jane pts/1 2020-02-03 07:02 (252.142.106.85)
john pts/2 2020-02-03 07:02 (187.41.92.90)
jane pts/1 2020-02-03 07:12 (252.142.106.85)
jane pts/1 2020-02-03 08:55 (252.142.106.85)
De même, vous pouvez voir toutes les tentatives de connexion infructueuses à l'aide du fichier /var/log/btmp.
[email protected]:~# who /var/log/btmp
Bien sûr, cela dépend si votre système est configuré pour enregistrer ces informations.
En fin de compte…
Il y a quelques options supplémentaires comme -H qui ajoute un titre comme première ligne de la sortie. Vous pouvez toujours les explorer via sa page de manuel.
J'ai énuméré, ce que je considère, les exemples importants de la commande qui. J'espère que vous aimez ce petit tutoriel rapide sur les commandes Linux.