Vamos a ver cómo podemos mostrar por pantalla qué usuarios tienen una sesión iniciada en sistema operativos UNIX o Linux.
En Linux, Solaris, FreeBSD o en cualquier otro sistema operativo basado en UNIX, son muchos usuarios los que comparten un mismo servidor. Los usuarios se conectarán al servidor mediante SSH o Telnet para iniciar su sesión de forma remota. Como recomendación extra, diremos que no se debe usar Telnet, por ser un protocolo en desuso que ya no se actualiza. Por el contrario, SSH es un protocolo seguro y recomendado.
Volviendo al tema, si quieres saber qué otras personas están conectadas al sistema, puedes utilizar el comando who.
El comando who funciona en todos los sistemas UNIX y mostrará por pantalla qué usuarios se encuentran conectados actualmente al sistema. También mostrará información acerca de estos usuarios. Por defecto, se mostrarán los nombres de usuario, el nombre interno o tty del sistema, la fecha y la hora a la que han iniciado sesión y el nombre del host desde el que se han conectado, salvo que sea un host de la propia red, mostrando una IP local en su lugar.
Cómo saber qué usuarios están conectados
Si quieres saber qué usuarios están conectados al servidor, debes utilizar el comando who, que también mostrará la hora a la que los usuarios han iniciado sesión y desde qué terminal se han conectado.
who
Como ejemplo de salida, veremos algo así:
neo ttyrU Feb 18 02:24 . (192.168.1.09)
nez ttyrV Feb 18 26:51 . (192.168.1.12)
edu ttyrW Feb 18 40:36 . (192.168.1.06)
Si por ejemplo hay más de 30 usuarios conectados, puede ser que no entren todos en una misma página. Para poder ver más páginas, puedes probar alguno de los siguientes comandos:
who | less
who | more
Cómo saber si un usuario está conectado
Si solamente quieres saber si un usuario se encuentra actualmente conectado, puedes utilizar el siguiente comando (ej. para edu):
who | grep edu
Esto es todo. Espero que os haya sido útil.