GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar usuarios actualmente conectados en Linux

Un administrador del sistema Linux debe vigilar quién está actualmente conectado al sistema Linux y qué está haciendo. Ya sabíamos cómo encontrar los últimos usuarios registrados en linux ¿Cómo identificaría quién está conectado a su sistema Linux en este momento y qué está haciendo? ¡Fácil! Este tutorial enumera varios métodos para encontrar usuarios conectados actualmente en Linux.

1. Encuentre usuarios conectados actualmente en Linux usando w comando

En los sistemas operativos Linux, existe un comando especial de una sola letra llamado w eso lo ayuda a encontrar quién está conectado y qué está haciendo en el sistema. Esta es la herramienta de línea de comandos más utilizada para mostrar la información sobre los usuarios que se encuentran actualmente en el servidor y sus procesos.

El w El comando suele ser útil cuando se administra un servidor Linux al que muchos usuarios acceden con frecuencia. Puede realizar un seguimiento de todos ellos sin tener que instalar ninguna herramienta o aplicación adicional.

El w El comando muestra varios detalles útiles, incluidos los siguientes:

  • la hora actual,
  • cuánto tiempo ha estado funcionando el sistema,
  • cuántos usuarios están conectados actualmente,
  • y los promedios de carga del sistema de los últimos 1, 5 y 15 minutos.

El w El comando obtiene información sobre quién está conectado actualmente desde /var/run/utmp y recupera la información del proceso del /proc archivo.

Ahora veamos cómo usar w Comando para mostrar quién ha iniciado sesión en su máquina Linux y qué está haciendo.

El uso típico de w el comando es:

$ w [options] user

Cuando ejecuta el comando w sin ninguna opción, mostrará todos los usuarios conectados actualmente en su sistema Linux:

$ w

Salida de muestra:

 08:42:30 up 28 min,  2 users,  load average: 1.30, 0.87, 0.45
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
sk       tty1     -                08:41   42.00s  0.10s  0.06s -bash
ostechni pts/1    192.168.225.37   08:42    6.00s  0.09s  0.01s w

Como puede ver en el resultado anterior, actualmente hay dos usuarios (sk y ostechni ) inició sesión en mi servidor Ubuntu. El w El comando muestra los siguientes detalles para los usuarios individuales:

  • nombre de inicio de sesión,
  • el nombre de tty,
  • dirección IP de origen desde la que el usuario inició sesión,
  • hora de inicio de sesión,
  • tiempo de inactividad,
  • Tiempo de JCPU (el tiempo utilizado por todos los procesos adjuntos al tty),
  • Tiempo PCPU (el tiempo utilizado por el proceso actual),
  • y la línea de comando de su proceso actual.

Si desea mostrar los detalles de un usuario específico que inició sesión (por ejemplo, ostechnix), el comando sería:

$ w ostechnix 
 08:51:36 up 37 min,  2 users,  load average: 1.12, 1.06, 0.76
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
ostechni pts/1    192.168.225.37   08:42    0.00s  0.09s  0.01s w ostech

Puede omitir el encabezado de la salida usando -h opción:

$ w -h
sk       tty1     -                08:41   16:13   0.10s  0.06s -bash
ostechni pts/1    192.168.225.37   08:42    1.00s  0.09s  0.01s w -h

También puede mostrar la dirección IP en lugar del nombre de host para "FROM" (nombre de host remoto) usando -i opción:

$ w -i

Es posible que no desee imprimir todos los detalles. Si es así, puede excluir el tiempo de inicio de sesión, los tiempos de JCPU o PCPU usando -s (--short ) opción:

$ w -s
 09:02:50 up 48 min,  2 users,  load average: 0.31, 0.79, 0.84
USER     TTY      FROM              IDLE WHAT
sk       tty1     -                21:02  -bash
ostechni pts/1    192.168.225.37    1.00s w -s

Para obtener más detalles, consulte las páginas man:

$ man w

O consulte la sección de ayuda:

$ w --help

Usage:
 w [options]

Options:
 -h, --no-header     do not print header
 -u, --no-current    ignore current process username
 -s, --short         short format
 -f, --from          show remote hostname field
 -o, --old-style     old style output
 -i, --ip-addr       display IP address instead of hostname (if possible)

     --help     display this help and exit
 -V, --version  output version information and exit

For more details see w(1).

2. Mostrar todos los usuarios registrados usando who comando

El who El comando es otra herramienta de línea de comandos para mostrar información sobre los usuarios que actualmente están conectados a una máquina Linux.

Si ejecuta who comando sin ninguna opción, mostrará todos los usuarios registrados:

$ who

Salida de muestra:

sk        tty1         2021-01-12 08:41
ostechnix pts/1        2021-01-12 08:42 (192.168.225.37)

Como puede ver en el resultado anterior, who El comando muestra el nombre de usuario, el tipo de dispositivo terminal (por ejemplo, tty o pts ) en el que tuvo lugar la sesión, la hora de inicio y la dirección IP de origen desde la que el usuario inició sesión.

Puede filtrar los detalles de un usuario específico con grep comando:

$ who | grep ostechnix
ostechnix pts/1        2021-01-12 08:42 (192.168.225.37)

El comando anterior encontrará si el usuario dado ostechnix está conectado o no.

Si desea mostrar información solo para la sesión de terminal actual, ejecute:

$ who am i
ostechnix pts/1        2021-01-12 08:42 (192.168.225.37)

Tenga en cuenta los espacios entre las palabras. Si ejecuta el comando anterior sin espacios, solo mostrará el nombre de usuario:

$ whoami 
ostechnix

El who El comando tiene algunas otras opciones para obtener resultados personalizados.

Por ejemplo, puede mostrar toda la información disponible de los inicios de sesión actuales usando -a bandera:

$ who -a

Salida de muestra:

           system boot  2021-01-12 08:14
sk       - tty1         2021-01-12 08:41 00:59        1463
           run-level 5  2021-01-12 08:15
ostechnix + pts/1        2021-01-12 08:42   .          1477 (192.168.225.37)
LOGIN      tty6         2021-01-12 08:41              1366 id=tty6

Para mostrar toda la información disponible con encabezados de columna, use -H bandera:

$ who -a -H
NAME       LINE         TIME             IDLE          PID COMMENT  EXIT
           system boot  2021-01-12 08:14
sk       - tty1         2021-01-12 08:41 00:59        1463
           run-level 5  2021-01-12 08:15
ostechnix + pts/1        2021-01-12 08:42   .          1477 (192.168.225.37)
LOGIN      tty6         2021-01-12 08:41              1366 id=tty6

Para obtener más detalles, consulte las páginas man y la sección de ayuda de who command usando cualquiera de los siguientes comandos:

$ man who
$ who --help

3. Imprimir usuarios registrados con users comando

Los users El comando imprime los nombres de usuario de los usuarios actualmente conectados al sistema host actual.

Para mostrar una lista de todos los usuarios registrados en una máquina Linux, ejecute:

$ users
ostechnix sk

Para obtener ayuda, ejecute cualquiera de los siguientes comandos:

$ man users
$ users --help

4. Ver usuarios registrados con last comando

El last El comando generalmente muestra todos los usuarios que alguna vez iniciaron y cerraron sesión en una máquina Linux desde el /var/log/wtmp archivo fue creado.

$ last

La lista de usuarios conectados actualmente se muestra en la parte superior.

ostechni pts/1        192.168.225.37   Tue Jan 12 08:42   still logged in
sk       tty1                          Tue Jan 12 08:41   still logged in
ostechni tty1                          Tue Jan 12 08:41 - 08:41  (00:00)
sk       pts/1        192.168.225.37   Tue Jan 12 08:41 - 08:41  (00:00)
[...]

Para obtener ayuda, consulte las páginas man o use --help opción:

$ man last
$ last --help

5. Encuentre quién está conectado a un sistema Linux usando el comando id

El id El comando se usa para imprimir información de usuario y grupo para el USUARIO especificado, o para el usuario actual cuando se omite USER.

Para imprimir el usuario conectado actualmente en la sesión actual, ejecute id comando con -un opciones:

$ id -un
ostechnix

Esto es lo mismo que el whoami comando.

Para obtener ayuda, haz lo siguiente:

$ man id
$ id --help

Todas las herramientas antes mencionadas están disponibles por defecto en la mayoría de las distribuciones de Linux. Hay una herramienta de línea de comandos más disponible para encontrar quién está conectado a un sistema Linux. No está instalado de forma predeterminada, pero está disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux.

6. Lista de usuarios registrados con comando de dedo

Dedo es una utilidad de búsqueda de información de usuario de línea de comandos. Muestra el nombre de inicio de sesión del usuario, el nombre real, el nombre del terminal y el estado de escritura, el tiempo de inactividad, el tiempo de inicio de sesión, la ubicación de la oficina y el número de teléfono de la oficina, etc.

El programa finger no está instalado por defecto en algunas distribuciones de Linux. Puede instalar finger en Debian, sistemas Ubuntu usando el administrador de paquetes apt como se muestra a continuación:

$ sudo apt install finger

Una vez instalado, ejecute el comando finger para encontrar usuarios registrados en su sistema Linux:

$ finger 

Salida de muestra:

Login      Name        Tty      Idle  Login Time   Office     Office Phone
ostechnix  ostechnix   pts/1          Jan 12 08:42 (192.168.225.37)
sk                    *tty1     3:17  Jan 12 08:41

Mostrar información sobre un usuario específico:

$ finger ostechnix

Salida de muestra:

Login: ostechnix      			Name: ostechnix
Directory: /home/ostechnix          	Shell: /bin/bash
On since Tue Jan 12 08:42 (UTC) on pts/1 from 192.168.225.37
   2 seconds idle
No mail.
No Plan.

Estos son algunos métodos para encontrar los usuarios conectados actualmente en un sistema Linux. Saber quién está conectado y encontrar lo que está haciendo en su sistema puede ser útil en los momentos de resolución de problemas. Espero que uno de los métodos antes mencionados te ayude.

Lectura relacionada:

  • Cómo enumerar todos los usuarios en Linux
  • Cómo monitorear la actividad del usuario en Linux
  • Cómo limitar el acceso del usuario al sistema Linux

Linux
  1. Cómo usar BUSCAR en Linux

  2. Cómo encontrar un archivo en Linux

  3. Cómo encontrar todos los usuarios de Sudo en Linux

  4. Cómo encontrar la IP de la puerta de enlace predeterminada en Linux

  5. ¿Cómo puedo encontrar el número de usuarios en línea en Linux?

Cómo listar usuarios en Linux

Permisos de Linux:cómo encontrar los permisos de un archivo

Cómo cambiar un Shell de usuario en Linux

Cómo encontrar el último inicio de sesión en Linux

Cómo ver los usuarios registrados en Linux

Cómo encontrar la dirección IP en Linux