Cuando se trabaja en un sistema Linux, es esencial saber quién está utilizando el sistema, cuándo y cómo para mantener la seguridad, monitorear el sistema y diagnosticar problemas. En entornos con múltiples usuarios, verificar las sesiones actuales es un primer paso crucial para entender el uso de los recursos del sistema y prevenir el acceso no autorizado o el mal uso del sistema. Este artículo explica cómo verificar las sesiones de usuario en un sistema Linux utilizando comandos básicos.
Fundamentos del comando who
El comando who
muestra una lista de usuarios actualmente conectados. Proporciona información como el nombre de usuario, nombre de la consola, fecha y hora de inicio de sesión, y el nombre del host remoto. El uso básico es como sigue:
who
Ejecutar este comando mostrará información sobre todos los usuarios actualmente conectados al sistema. Un ejemplo de la salida es como sigue:
username1 tty7 2024-03-11 09:08 (:0)
username2 pts/1 2024-03-11 09:10 (192.168.1.5)
Aquí, username1
y username2
representan nombres de usuario, tty7
y pts/1
indican las terminales a las que los usuarios están conectados, respectivamente. Las fechas y horas muestran cuándo los usuarios iniciaron sesión, y las direcciones entre paréntesis muestran las direcciones IP si los usuarios se están conectando de forma remota.
El comando who
es útil para los administradores de sistemas para entender rápidamente el uso del sistema, especialmente cuando se necesita una visión general de los usuarios que acceden al sistema.
Información detallada de la sesión con el comando w
El comando w
muestra información más detallada sobre los usuarios actualmente conectados. Esto incluye el estado de actividad del usuario, el tiempo transcurrido desde el inicio de sesión y los procesos que se están ejecutando actualmente. La forma básica de usar el comando w
es simple, solo ejecútelo directamente desde la línea de comandos.
w
La salida de este comando incluye información como:
- Nombre de usuario
- La terminal en la que el usuario está conectado
- Host remoto
- Tiempo desde que el usuario inició sesión
- Tiempo de CPU que está utilizando el usuario actualmente
- La última vez que el usuario realizó una acción
- El comando que el usuario está ejecutando actualmente
Un ejemplo de la salida es como sigue:
10:12:47 up 1 day, 2:45, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
username1 tty7 :0 09:08 3:04m 8.43s 0.01s /usr/lib/xorg/Xorg
username2 pts/1 192.168.1.5 09:10 2.00s 0.03s 0.01s w
Usando esta información, los administradores de sistemas pueden monitorear la carga actual del sistema y la actividad del usuario para determinar si hay algún problema. Por ejemplo, si un usuario está utilizando una cantidad inusualmente alta de tiempo de CPU, puede indicar un mal uso de los recursos del sistema o procesos que están sobrecargando el sistema. El comando w
es una herramienta importante para identificar y abordar rápidamente tales problemas.
Verificando el historial de inicio de sesión con el comando last
El comando last
se utiliza para mostrar el historial de inicio de sesión del sistema. Esto permite a los administradores de sistemas verificar sesiones de inicio de sesión pasadas, los usuarios que iniciaron sesión, los tiempos de inicio y cierre de sesión, y la duración de las sesiones. Esto es útil para auditorías de seguridad y para solucionar problemas. La forma básica de usar el comando last
es como sigue:
last
Ejecutar este comando muestra un historial de usuarios conectados. Por ejemplo, podrías ver una salida como esta:
username1 tty7 :0 Lun Mar 11 09:08 todavía conectado
username2 pts/1 192.168.1.5 Lun Mar 11 09:10 - 09:12 (00:02)
Aquí, username1
y username2
representan los nombres de usuario conectados, tty7
y pts/1
indican las terminales utilizadas, respectivamente. Las fechas y horas muestran los tiempos de inicio y cierre de sesión, con todavía conectado
indicando sesiones que aún no han cerrado sesión.
El comando last
también se puede utilizar para filtrar información sobre el historial de inicio de sesión de usuarios específicos o terminales. Por ejemplo, para mostrar el historial de inicio de sesión de un usuario específico, ejecute el comando como sigue:
last username1
Este comando es extremadamente útil para investigar incidentes de seguridad o analizar los patrones de inicio de sesión de los usuarios. Si se detecta actividad de inicio de sesión sospechosa, el comando last
puede ayudar a revelar los detalles de esa actividad.
Usando el comando pinky
El comando pinky
puede considerarse una versión ligera del comando who
, proporcionando una visualización concisa de la información sobre los usuarios conectados. Este comando es útil en entornos con recursos limitados o para usuarios que prefieren una salida simple. Usar el comando pinky
muestra el nombre de usuario, terminal al inicio de sesión, tiempo de inicio de sesión y nombre del host remoto. El uso básico es como sigue:
pinky
La salida se verá algo así:
Login Name TTY Idle When Where
username1 User Name One tty7 Mar 11 09:08 (:0)
username2 User Name Two pts/1 Mar 11 09:10 (192.168.1.5)
Cuando se ejecuta sin opciones adicionales, el comando pinky
no muestra el nombre completo del usuario ni el tiempo inactivo desde el inicio de sesión. Sin embargo, para obtener más información detallada, se puede utilizar la opción -l
(formato largo) para mostrar detalles como el nombre completo del usuario y el directorio principal.
pinky -l username1
El comando pinky
es útil en entornos con recursos limitados o para usuarios que valoran la simplicidad, ya que impone menos carga en los recursos del sistema. Este comando permite la verificación rápida de la información esencial del usuario.
Conclusión
En un sistema Linux, los comandos who
, w
, last
, y pinky
permiten verificar fácilmente la información de la sesión actual de un usuario. Estas herramientas son valiosas para los administradores de sistemas y el personal de seguridad. Cada comando proporciona información con diferentes niveles de detalle y propósitos, ayudando en el monitoreo del sistema, la aplicación de la seguridad y la solución de problemas. El comando who
ofrece un resumen de los usuarios actualmente conectados, el comando w
proporciona información de sesión más detallada, el comando last
muestra el historial de inicio de sesión, y el comando pinky
entrega información del usuario de manera concisa sin consumir muchos recursos. La combinación apropiada de estos comandos puede llevar a una gestión efectiva del sistema y una seguridad mejorada.