Monitorizando usuarios en Linux

Que levante la mano el que no haya querido saber que usuarios tenía conectados en su server, o haya querido saber como saber que ha ocurrido en el server al iniciar sesión con SSH o con el ya tan obsoleto Telnet, o mejor aun saber que esta ejecutando cada usuario en el momento de la visualización, bien pues hay varios comandos que te enseñan todo aquello que deseas saber…

WHO

El comando who nos da una salida como la siguiente:

$ who
deivid   :0           2014-12-02 10:33 (:0)
deivid   pts/0        2014-12-02 18:49 (:0)
deivid   pts/12   2014-12-02 18:50 (192.168.0.10)

Este comando se encarga de mostrarnos que usuarios hay conectados al sistema. Las columnas tienen el siguiente significado.

  • Primera columna: vemos el nombre del usuario
  • Segunda columna: vemos el identificador del terminal desde el que se conecta el usuario.
    • :0 significa que es un inicio de sesión con la interfaz gráfica.
    • pts/<numero> indican inicios de sesión en modo texto
  • tercera columna: fecha y hora del inicio de sesión
  • cuarta columna: inicio de sesión remoto
    • :<numero> ó  : <número> . <numero> indican un terminal abierto en una ventana de X
    • :(IP): Indica la IP desde donde se ha realizado la conexión

Con el comando $who -q se realiza un resumen y un conteo de la cantidad de usuarios conectados.

$ who -q
deivid  pepe juan
Nº de usuarios= 3

De todas formas a mí el comando who se me queda muy corto y no me da toda esa información que necesito, es por ello que el comando que más utilizo y que recomiendo es W, ojo que luego habrán cientos de programas por allí en la red para visualizar usuarios con muchisima más información, mas agiles etc, etc… Pero yo siempre intento hablar de comando que vienen por defecto.

W

EL comando w sin opciones produce una salida más avanzada y detallada que el comando who como vais a poder detallar a continuación:

$ w
19:07:17 up 10:16,  3 users,  load average: 0,35, 0,36, 0,34
USUARIO  TTY        DE                    LOGIN@   IDLE     JCPU    PCPU    WHAT
deivid          :0            :0                        10:33        ?xdm?    1:49m   0.17s    init –user
deivid          pts/0      :0                        18:49        5.00s     0.04s    0.01s    w
deivid          pts/12    192.168.0.10     19:07        2.00s      0.06s    0.06s    -bash

Las columnas tienen el siguiente significado:

  • Primera columna: nombre del usuario que ha iniciado sesión
  • Segunda columna: identificador de la terminal desde la que se conecta, igual que en el comando who
  • Tercera columna: desde donde se realiza la conexión, igual que la última columna en who
  • Cuarta columna: hora en que ha realizado el inicio de sesión.
  • Quinta columna: muestra el tiempo que ha pasado desde la última interacción con la consola/terminal
  • Sexta columna: muestra la cantidad total de tiempo de CPU asociada con la sesión
  • Séptima columna:  muestra la cantidad total de tiempo de CPU que está consumiendo el proceso actual
  • Octava columna: indica el programa que se esta ejecutando en la sesión

Otro comando muy interesante es LAST, el cual nos mostrará la última hora de conexión de todos los usuarios. Si le pasamos el nombre del usuario como parámetro, nos mostrará solo las conexiones de dicho usuario.

$last
reboot   system boot  3.13.0-36-generi Mon Oct  6 00:23 – 00:33  (00:10)
reboot   system boot  3.13.0-36-generi Sun Oct  5 22:55 – 22:55  (00:00)
admin   pts/2    :0                     Sun Oct  5 22:07 – down   (00:46)

wtmp begins Sun Oct  5 22:07:57 2014

Como podeis detallar Last tambien nos enseñan los reinicios y los apagados del sistema, lo cual es una información bastante importante, y que por muy extraño que parezca algunos SysAdmins desconocen, como aquellos que estoy recordando ahora, y que gracias a ese desconocimiento un colega se pudo salvar de una buena bronca, ya que este en fase de practicas accedio al servidor mediante SSH y al salir tecleo: shutdown -h now,  como si todo lo que se podía hacer con el servidor despues de el marcharse valdría una mierda ¿La razón? Vaya Vd. a saber… luego llego el caos y la empresa se conviritio en un maremagnum y él consiguió salir ileso gracias al desconocimiento de Last por parte de los SysAdmin… .

Lastb, muestra los intentos de sesión fallidos en el sistema. Podeis detallar que igual con los comandos anteriores, este enseña el nombre de usuario y el terminal desde el que se ha intentado acceder, en este caso : o .

#lastb
admin   :0       :0           Tue Oct  7 11:57 – 11:57  (00:00)
admin   :0       :0           Mon Oct  6 18:08 – 18:08  (00:00)

btmp begins Mon Oct  6 18:08:48 2014

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s