Una guía completa para verificar sesiones de usuario en Linux

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.

Índice

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.

Índice