Un administrateur système Linux doit garder un œil sur qui est actuellement connecté au système Linux et ce qu'il fait. Nous savions déjà comment trouver les derniers utilisateurs connectés sous Linux. Comment identifieriez-vous qui est actuellement connecté à votre système Linux et ce qu'il fait ? Facile! Ce didacticiel répertorie différentes méthodes pour rechercher des utilisateurs actuellement connectés sous Linux.
1. Trouver les utilisateurs actuellement connectés sous Linux en utilisant w
commande
Dans les systèmes d'exploitation Linux, il existe une commande spéciale à une seule lettre appelée w
qui vous aide à trouver qui est connecté et ce qu'il fait dans le système. Il s'agit de l'outil de ligne de commande le plus couramment utilisé pour afficher les informations sur les utilisateurs actuellement sur le serveur et leurs processus.
Le w
La commande est souvent utile lorsque vous administrez un serveur Linux auquel de nombreux utilisateurs accèdent fréquemment. Vous pouvez tous les suivre sans avoir à installer d'outils ou d'applications supplémentaires.
Le w
La commande affiche divers détails utiles, notamment :
- l'heure actuelle,
- depuis combien de temps le système fonctionne,
- combien d'utilisateurs sont actuellement connectés,
- et les moyennes de charge du système pour les 1, 5 et 15 dernières minutes.
Le w
La commande récupère des informations sur qui est actuellement connecté à partir de /var/run/utmp
fichier et récupère les informations de processus à partir du /proc
fichier.
Voyons maintenant comment utiliser w
commande pour afficher qui est connecté sur votre machine Linux et ce qu'il fait.
L'utilisation typique de w
la commande est :
$ w [options] user
Lorsque vous exécutez la commande w sans aucune option, elle affichera tous les utilisateurs actuellement connectés à votre système Linux :
$ w
Exemple de résultat :
08:42:30 up 28 min, 2 users, load average: 1.30, 0.87, 0.45
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
sk tty1 - 08:41 42.00s 0.10s 0.06s -bash
ostechni pts/1 192.168.225.37 08:42 6.00s 0.09s 0.01s w
Comme vous pouvez le voir dans la sortie ci-dessus, il y a actuellement deux utilisateurs (sk et ostechni ) connecté à mon serveur Ubuntu. Le w
La commande affiche les détails suivants pour les utilisateurs individuels :
- nom de connexion,
- le nom du terminal,
- adresse IP source à partir de laquelle l'utilisateur s'est connecté,
- heure de connexion,
- temps d'inactivité,
- Temps JCPU (le temps utilisé par tous les processus attachés au tty),
- Temps PCPU (le temps utilisé par le processus en cours),
- et la ligne de commande de leur processus actuel.
Si vous souhaitez afficher les détails d'un utilisateur connecté spécifique (par exemple ostechnix), la commande serait :
$ w ostechnix
08:51:36 up 37 min, 2 users, load average: 1.12, 1.06, 0.76
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
ostechni pts/1 192.168.225.37 08:42 0.00s 0.09s 0.01s w ostech
Vous pouvez omettre l'en-tête de la sortie en utilisant -h
choix :
$ w -h
sk tty1 - 08:41 16:13 0.10s 0.06s -bash
ostechni pts/1 192.168.225.37 08:42 1.00s 0.09s 0.01s w -h
Vous pouvez également afficher l'adresse IP au lieu du nom d'hôte pour "FROM"
champ (nom d'hôte distant) à l'aide de -i
choix :
$ w -i
Vous ne voudrez peut-être pas imprimer tous les détails. Si c'est le cas, vous pouvez exclure l'heure de connexion, les heures JCPU ou PCPU en utilisant -s
(--short
) :
$ w -s
09:02:50 up 48 min, 2 users, load average: 0.31, 0.79, 0.84
USER TTY FROM IDLE WHAT
sk tty1 - 21:02 -bash
ostechni pts/1 192.168.225.37 1.00s w -s
Pour plus de détails, consultez les pages de manuel :
$ man w
Ou, reportez-vous à la section d'aide :
$ w --help
Usage:
w [options]
Options:
-h, --no-header do not print header
-u, --no-current ignore current process username
-s, --short short format
-f, --from show remote hostname field
-o, --old-style old style output
-i, --ip-addr display IP address instead of hostname (if possible)
--help display this help and exit
-V, --version output version information and exit
For more details see w(1).
2. Afficher tous les utilisateurs connectés en utilisant who
commande
Le who
La commande est encore un autre outil de ligne de commande pour afficher des informations sur les utilisateurs qui sont actuellement connectés à une machine Linux.
Si vous lancez who
commande sans aucune option, elle affichera tous les utilisateurs connectés :
$ who
Exemple de résultat :
sk tty1 2021-01-12 08:41
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
Comme vous le voyez dans la sortie ci-dessus, who
La commande affiche le nom d'utilisateur, le type de terminal (par exemple, tty
ou pts
) sur lequel la session a eu lieu, l'heure de démarrage et l'adresse IP source à partir de laquelle l'utilisateur s'est connecté.
Vous pouvez filtrer les détails d'un utilisateur spécifique avec grep
commande :
$ who | grep ostechnix
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
La commande ci-dessus trouvera si l'utilisateur donné ostechnix est connecté ou non.
Si vous souhaitez afficher uniquement les informations de la session de terminal en cours, exécutez :
$ who am i
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
Veuillez noter les espaces entre les mots. Si vous exécutez la commande ci-dessus sans aucun espace, seul le nom d'utilisateur s'affichera :
$ whoami
ostechnix
Le who
La commande a peu d'autres options pour obtenir une sortie personnalisée.
Par exemple, vous pouvez afficher toutes les informations disponibles sur les connexions actuelles en utilisant -a
drapeau :
$ who -a
Exemple de résultat :
system boot 2021-01-12 08:14
sk - tty1 2021-01-12 08:41 00:59 1463
run-level 5 2021-01-12 08:15
ostechnix + pts/1 2021-01-12 08:42 . 1477 (192.168.225.37)
LOGIN tty6 2021-01-12 08:41 1366 id=tty6
Pour afficher toutes les informations disponibles avec des en-têtes de colonne, utilisez -H
drapeau :
$ who -a -H
NAME LINE TIME IDLE PID COMMENT EXIT
system boot 2021-01-12 08:14
sk - tty1 2021-01-12 08:41 00:59 1463
run-level 5 2021-01-12 08:15
ostechnix + pts/1 2021-01-12 08:42 . 1477 (192.168.225.37)
LOGIN tty6 2021-01-12 08:41 1366 id=tty6
Pour plus de détails, reportez-vous aux pages de manuel et à la section d'aide de la commande who à l'aide de l'une des commandes suivantes :
$ man who
$ who --help
3. Imprimer les utilisateurs connectés avec users
commande
Les users
La commande imprime les noms d'utilisateur des utilisateurs actuellement connectés au système hôte actuel.
Pour afficher une liste de tous les utilisateurs connectés sur une machine Linux, exécutez :
$ users
ostechnix sk
Pour obtenir de l'aide, exécutez l'une des commandes suivantes :
$ man users
$ users --help
4. Afficher les utilisateurs connectés avec last
commande
Le last
La commande affiche généralement tous les utilisateurs qui se sont connectés et déconnectés d'une machine Linux depuis le /var/log/wtmp
le fichier a été créé.
$ last
La liste des utilisateurs actuellement connectés est affichée en haut.
ostechni pts/1 192.168.225.37 Tue Jan 12 08:42 still logged in
sk tty1 Tue Jan 12 08:41 still logged in
ostechni tty1 Tue Jan 12 08:41 - 08:41 (00:00)
sk pts/1 192.168.225.37 Tue Jan 12 08:41 - 08:41 (00:00)
[...]
Pour obtenir de l'aide, consultez les pages de manuel ou utilisez --help
choix :
$ man last
$ last --help
5. Trouver qui est connecté à un système Linux à l'aide de la commande id
L'id
La commande est utilisée pour imprimer les informations d'utilisateur et de groupe pour l'UTILISATEUR spécifié, ou pour l'utilisateur actuel lorsque UTILISATEUR est omis.
Pour imprimer l'utilisateur actuellement connecté dans la session en cours, exécutez id
commande avec -un
option :
$ id -un
ostechnix
C'est la même chose que le whoami
commande.
Pour obtenir de l'aide, procédez comme suit :
$ man id
$ id --help
Tous les outils susmentionnés sont disponibles par défaut dans la plupart des distributions Linux. Il existe un autre outil de ligne de commande disponible pour trouver qui est connecté à un système Linux. Il n'est pas installé par défaut, mais disponible dans les dépôts par défaut de la plupart des distributions Linux.
6. Liste les utilisateurs connectés avec la commande du doigt
Doigt est un utilitaire de recherche d'informations utilisateur en ligne de commande. Il affiche le nom de connexion de l'utilisateur, son nom réel, le nom du terminal et l'état d'écriture, le temps d'inactivité, l'heure de connexion, l'emplacement du bureau et le numéro de téléphone du bureau, etc.
Le programme finger n'est pas installé par défaut dans certaines distributions Linux. Vous pouvez installer finger dans les systèmes Debian et Ubuntu en utilisant le gestionnaire de paquets apt comme ci-dessous :
$ sudo apt install finger
Une fois installé, exécutez la commande finger pour rechercher les utilisateurs connectés sur votre système Linux :
$ finger
Exemple de résultat :
Login Name Tty Idle Login Time Office Office Phone
ostechnix ostechnix pts/1 Jan 12 08:42 (192.168.225.37)
sk *tty1 3:17 Jan 12 08:41
Afficher des informations sur un utilisateur spécifique :
$ finger ostechnix
Exemple de résultat :
Login: ostechnix Name: ostechnix
Directory: /home/ostechnix Shell: /bin/bash
On since Tue Jan 12 08:42 (UTC) on pts/1 from 192.168.225.37
2 seconds idle
No mail.
No Plan.
Voici quelques méthodes pour trouver les utilisateurs actuellement connectés dans un système Linux. Savoir qui est connecté et trouver ce qu'ils font dans votre système peut être utile lors des dépannages. J'espère que l'une des méthodes susmentionnées vous aidera.
Lire connexe :
- Comment répertorier tous les utilisateurs sous Linux
- Comment surveiller l'activité des utilisateurs sous Linux
- Comment limiter l'accès des utilisateurs au système Linux