Este artículo está escrito por Hari Haran.
Como administrador del sistema, es posible que desee saber quién está en el sistema en cualquier momento dado. También es posible que desee saber lo que están haciendo. En este artículo, revisemos 4 métodos diferentes para identificar quién está en su sistema Linux.
1. Obtenga los procesos en ejecución del usuario que inició sesión usando w
comando w se utiliza para mostrar los nombres de usuario registrados y lo que están haciendo. La información se leerá del archivo /var/run/utmp. La salida del comando w contiene las siguientes columnas:
- Nombre del usuario
- Número de máquina o número de tty del usuario
- Dirección de la máquina remota
- 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 PCPU)
- Comando que los usuarios están ejecutando actualmente
Se pueden usar las siguientes opciones para el comando w:
- -h Ignora la información del encabezado
- -u Muestra el promedio de carga (salida de tiempo de actividad)
- -s Elimina la JCPU, la PCPU y la hora de inicio de sesión.
$ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w $ w -h ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h $ w -u 23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u $ w -s 23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM IDLE WHAT ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv] jason pts/1 dev-db-server 20:36 -bash john pts/2 dev-db-server 1.00s w -s
2. Obtenga el nombre de usuario y el proceso del usuario que inició sesión usando el comando who y users
quien manda se usa para obtener la lista de los nombres de usuario que están conectados actualmente. La salida del comando who contiene las siguientes columnas:nombre de usuario, número de tty, fecha y hora, dirección de la máquina.
$ who ramesh pts/0 2009-03-28 22:57 (dev-db-server) jason pts/1 2009-03-28 23:01 (dev-db-server) john pts/2 2009-03-28 23:04 (dev-db-server)
Para obtener una lista de todos los nombres de usuario que están conectados actualmente, use lo siguiente:
$ who | cut -d' ' -f1 | sort | uniq john jason ramesh
Comando de Usuarios
comando de usuarios se utiliza para imprimir el nombre de usuario que está conectado actualmente en el host actual. Es uno de los comandos que no tiene otra opción que ayuda y versión. Si el usuario usa 'n' número de terminales, el nombre de usuario se mostrará en 'n' número de veces en la salida.
$ users john jason ramesh
3. Obtenga el nombre de usuario con el que está conectado actualmente usando whoami
vaya El comando se utiliza para imprimir el nombre de usuario que ha iniciado sesión.
$ whoami john
comando whoami da el mismo resultado que id -un como se muestra a continuación:
$ id -un john
quien soy El comando mostrará el nombre de usuario registrado y los detalles actuales de tty. El resultado de este comando contiene las siguientes columnas:nombre de usuario registrado, nombre de tty, hora actual con fecha y dirección IP desde donde estos usuarios iniciaron la conexión.
$ who am i john pts/2 2009-03-28 23:04 (dev-db-server) $ who mom likes john pts/2 2009-03-28 23:04 (dev-db-server) Warning: Don't try "who mom hates" command.
Además, si le hace su a algún otro usuario, este comando le dará la información sobre los detalles del nombre de usuario que inició sesión.
4. Obtenga el historial de inicio de sesión del usuario en cualquier momento
último comando dará el historial de inicio de sesión para un nombre de usuario específico. Si no proporcionamos ningún argumento para este comando, mostrará el historial de inicio de sesión de todos los usuarios. De forma predeterminada, esta información se leerá del archivo /var/log/wtmp. La salida de este comando contiene las siguientes columnas:
- Nombre de usuario
- Número de dispositivo Tty
- Fecha y hora de inicio de sesión
- Hora de cierre de sesión
- Tiempo total de trabajo
$ last jason jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45) jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28) jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33) jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11) jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15) jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39
Este artículo está escrito por Hari Haran. Trabaja en bk Systems (p) Ltd y está interesado en contribuir al código abierto. The Geek Stuff agradece sus consejos y artículos de invitados.