¿Cómo puedo saber si el usuario actual ha iniciado sesión a través de una consola local en una máquina Linux?

0

¿Cuál es la mejor manera de averiguar si el usuario actual ha iniciado sesión a través de una consola local en una máquina Debian Linux (ttyS0 en mi caso)? Tengo un script donde quiero restringir algunas opciones que romperían una conexión de red. El comando who enumera los usuarios actuales y sus conexiones, pero potencialmente el usuario podría iniciar sesión a través de múltiples conexiones simultáneamente y no sé cuál soy yo.

Bruce Alport
fuente

Respuestas:

0

Si desea obtener información sobre la conexión actual, puede usarla who -m, lo que restringirá la whosalida al shell actual.

O simplemente puede escribir who am iun shell, es un alias para who -m. ;-)

Levans
fuente
¡Agradable! ¡La descripción en la página del manual era demasiado sutil para mí!
Bruce Alport
0

Bueno, puedes usar el wcomando:

wEl comando se utiliza para mostrar los nombres de usuario registrados y lo que están haciendo. La información se leerá del /var/run/utmparchivo. La salida del wcomando contiene las siguientes columnas:

Nombre del usuario
Número de máquina del usuario o número tty
Dirección remota de la máquina
Hora de inicio de sesión del usuario
Tiempo de inactividad (tiempo no utilizable)
Tiempo utilizado por todos los procesos adjuntos al tty (tiempo JCPU)
Tiempo utilizado por el proceso actual (tiempo de PCPU)
Comando actualmente ejecutado por los usuarios

O si solo quieres ver quién ha iniciado sesión who

Para obtener más información con respecto a los comandos, compruebe lo man pagesiguiente:

man w y man who

Meintjes
fuente