Maison >Tutoriel système >Linux >Comment afficher tous les utilisateurs actuellement connectés sur le système Linux
Aujourd'hui, nous présenterons brièvement plusieurs méthodes pour répertorier les utilisateurs connectés aux systèmes Linux.
Dans un système Linux multi-utilisateurs, il est parfois nécessaire d'interroger les utilisateurs actuellement connectés au système. Par exemple, un utilisateur doit être déconnecté pour une raison quelconque.
Aujourd'hui, nous présenterons brièvement plusieurs méthodes pour répertorier les utilisateurs connectés sur les systèmes Linux.
Parmi les méthodes que nous avons introduites, presque toutes les commandes reposent sur des données existant dans le répertoire /var ou /proc. Si vous savez quelque chose sur la structure des répertoires sous Linux, vous savez que ces deux répertoires contiennent des données sur les processus en cours d'exécution sur le système.
1. Utilisez la commande w pour afficher les utilisateurs connectés au système Linux
C'est la méthode la plus simple. Tapez simplement une commande de lettre pour interroger les utilisateurs connectés au système actuel.
w
Voici le résultat de la commande w :
$ w 09:54:54 up 26 min, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 202.91.87.114 09:37 21.00s 0.00s 0.00s -bash abhi pts/1 202.91.87.114 09:47 0.00s 0.00s 0.00s w rohini pts/2 157.43.53.142 09:48 6:13 0.00s 0.00s -bash
Nous donnerons une brève explication de la sortie ci-dessus, qui sera également couverte dans d'autres commandes.
Dans la sortie ci-dessus, TTY affiche les informations du terminal de connexion de l'utilisateur, où pts représente le pseudo-terminal esclave, c'est-à-dire connecté via une connexion ssh.
Les colonnes suivantes affichent respectivement l'adresse IP, l'heure de connexion et la durée d'inactivité de l'ordinateur de l'utilisateur.
JCPU est le temps passé par tous les processus connectés au TTY et PCPU est le temps passé par le processus en cours exécuté par l'utilisateur. La colonne QUOI affiche le processus en cours.
2. Utilisez la commande who pour afficher les utilisateurs connectés
Pour interroger les utilisateurs connectés, la commande who est également une méthode couramment utilisée, et elle est également très simple à utiliser.
who
Le résultat ressemble à ceci :
$ who root pts/0 Aug 6 09:37 (202.91.87.114) abhi pts/1 Aug 6 09:47 (202.91.87.114) rohini pts/2 Aug 6 09:48 (157.43.53.142)
3, utilisez la commande des utilisateurs
Les deux méthodes ci-dessus, la commande w et la commande who, afficheront les informations détaillées de l'utilisateur actuellement connecté (telles que le terminal, l'adresse IP, l'heure de connexion, etc.). Parfois, vous souhaiterez peut-être uniquement le nom d'utilisateur (par exemple, si vous souhaitez écrire un script). Après avoir utilisé la commande w ou who, vous devez analyser sa sortie, ce qui représente un travail supplémentaire. Alors, existe-t-il un moyen d'obtenir simplement le nom de connexion de l'utilisateur ? La réponse est oui, il s’agit d’utiliser la commande users. Comme indiqué ci-dessous :
$ users abhi rohini root
4, utilisez la commande doigt
La commande Finger n'est pas préinstallée dans toutes les distributions Linux, elle doit donc être installée manuellement avant utilisation. Par exemple, dans Ubuntu, vous pouvez utiliser la commande suivante pour installer :
sudo apt install finger
Une fois l'installation terminée, vous pouvez directement utiliser la commande Finger pour afficher la liste des utilisateurs connectés dans le système actuel :
finger
Le résultat ressemble à ceci :
$ finger Login Name Tty Idle Login Time Office Office Phone abhi Abhishek pts/1 Aug 6 09:47 (202.91.87.114) rohini Rohini Rachita pts/2 13 Aug 6 09:48 (157.43.53.142) root root *pts/0 Aug 6 09:37 (202.91.87.114)
Autres : vérifiez qui s'est connecté au système après le dernier redémarrage
La méthode que nous avons introduite ci-dessus consiste à interroger les utilisateurs actuellement connectés au système. Existe-t-il donc un moyen de demander qui s'est connecté au système ?
La commandelast peut afficher quels utilisateurs se sont connectés au système depuis le dernier redémarrage du système (y compris ceux qui sont actuellement connectés et ceux qui se sont déconnectés). Pour les utilisateurs déconnectés, leur heure de connexion et leur heure de déconnexion sont également affichées.
last
Le résultat ressemble à ceci :
$ last rohini pts/3 157.43.53.142 Tue Aug 6 10:05 - 10:05 (00:00) rohini pts/2 157.43.53.142 Tue Aug 6 09:48 still logged in abhi pts/1 202.91.87.114 Tue Aug 6 09:47 still logged in root pts/0 202.91.87.114 Tue Aug 6 09:37 still logged in reboot system boot 4.15.0-52-generi Tue Aug 6 09:28 still running wtmp begins Tue Aug 6 09:28:43 2022
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!