Si vous gérez un serveur multi-utilisateurs, vous devrez souvent trouver qui est connecté à votre système et ce qu'il fait. Dans les systèmes de type Unix, il existe une commande à une seule lettre appelée ‘w’ , qui est utilisé pour afficher les informations sur les utilisateurs actuellement sur le serveur et leurs processus. Cette commande est très utile lorsque vous gérez un serveur partagé auquel de nombreux utilisateurs accèdent fréquemment. Vous pouvez tous les suivre sans avoir à utiliser d'outils ou d'applications supplémentaires. La commande 'w' affichera les détails, y compris l'heure actuelle, la durée de fonctionnement du système, le nombre d'utilisateurs actuellement connectés et les moyennes de charge du système pour les 1, 5 et 15 dernières minutes.
Dans ce bref guide, nous verrons comment utiliser la commande 'w' pour surveiller les utilisateurs sous Linux.
Rechercher qui est connecté à votre système à l'aide de la commande "w"
L'utilisation typique de la commande w est :
$ w [options] user
Voyons quelques exemples pratiques.
Tapez "w" dans l'invite de commande pour voir qui est connecté à votre serveur.
$ w
Exemple de résultat :
12:48:40 up 2 min, 4 users, load average: 0.31, 0.35, 0.15 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 12:46 2:00 0.09s 0.09s -bash sk pts/0 sk 12:47 1:26 0.04s 0.04s -bash ostechni pts/1 sk 12:47 1:04 0.04s 0.04s -bash root pts/2 sk 12:47 0.00s 0.05s 0.00s w
Comme vous pouvez le voir dans la sortie ci-dessus, la commande "w" affiche les détails suivants de chaque utilisateur connecté à votre serveur.
- nom de connexion
- le nom du terminal
- l'hôte distant
- heure de connexion
- temps d'inactivité
- JCPU, temps PCPU
- la ligne de commande de leur processus actuel.
Ici, le temps JCPU est le temps utilisé par tous les processus attachés au tty, et le temps PCPU est le temps utilisé par le processus en cours, nommé dans le champ "quoi".
Si vous ne voulez pas imprimer l'en-tête, utilisez simplement -h comme ci-dessous.
$ w -h
Vous verrez une sortie comme ci-dessous.
root tty1 12:46 2:29 0.09s 0.09s -bash sk pts/0 sk 12:47 1:55 0.04s 0.04s -bash ostechni pts/1 sk 12:47 1:33 0.04s 0.04s -bash root pts/2 sk 12:47 5.00s 0.06s 0.01s w -h
Comme vous le voyez dans les résultats ci-dessus, la commande 'w' affiche tous les détails des utilisateurs. Vous pouvez également afficher les détails d'un utilisateur particulier en utilisant -u comme ci-dessous.
$ w ostechnix
Exemple de sortie :
12:56:39 up 10 min, 4 users, load average: 0.00, 0.08, 0.10 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT ostechni pts/1 sk 12:47 2:15 0.05s 0.05s -bash
De plus, vous pouvez afficher l'adresse IP au lieu du nom d'hôte pour le champ "FROM" (nom d'hôte distant) en utilisant -i comme indiqué ci-dessous.
$ w -i
Exemple de résultat :
12:58:31 up 12 min, 4 users, load average: 0.07, 0.08, 0.10 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 12:46 11:51 0.09s 0.09s -bash sk pts/0 192.168.43.192 12:47 8:39 0.04s 0.04s -bash ostechni pts/1 192.168.43.192 12:47 4:07 0.05s 0.05s -bash root pts/2 192.168.43.192 12:47 7.00s 0.08s 0.01s w -i
Ici, 192.168.43.192 est le système sur lequel j'accède à mon serveur via ssh.
Pour plus de détails, reportez-vous aux pages de manuel.
$ man wTélécharger - Guide de trucs et astuces gratuits :"Bash Command Line Pro Tips"
Vous savez maintenant comment vérifier qui est connecté à votre serveur et ce qu'il fait. Si vous trouvez ce guide utile, partagez-le sur vos réseaux sociaux et professionnels et soutenez-nous.
Santé !