Comando de dedo
Un comando útil para rastrear la actividad del usuario es el dedo . Este comando le permite ver quién inició sesión o simplemente se centró en la información de la actividad de un usuario, ver cuándo el usuario inició sesión por última vez, desde dónde iniciar sesión, etc. En este ejemplo, realizaremos un seguimiento de la acción de la actividad del nombre de usuario de nemo.
$ finger nemo Login: nemo Name: Nemo Demo Directory: /home/nemo Shell: /bin/bash On since Fri Jun 19 12:58 (EDT) on pts/1 from 192.168.0.6 7 minutes 47 seconds idle New mail received Wed Jun 17 18:31 2020 (EDT) Unread since Sat Jun 13 18:03 2020 (EDT) No Plan.
Podemos ver el nombre completo, el directorio principal y el shell de nemo. También podemos ver la última actividad de inicio de sesión y correo electrónico de nemo. Las oficinas, los teléfonos comerciales y los teléfonos residenciales aparecen solo si se especifica en el archivo / etc / passwd con el campo de nombre completo. Por ejemplo:
nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash).
La salida anterior también indica que nemo no tiene un “plan”, pero solo significa que ese usuario no creó un archivo .plan ni puso texto en él; Nada fuera de lo común.
Sin un argumento, el dedo El comando mostrará una lista de los inicios de sesión actuales en el formato que se muestra a continuación. Puede ver cuando inician sesión, la dirección IP que usaron, el terminal que estaban usando (por ejemplo, pts / 1)
$ finger Login Name Tty Idle Login Time Office Office Phone nemo Nemo Demo pts/1 1:24 Jun 19 12:58 (192.168.0.6) shs Sandra Henry-Stocker pts/0 Jun 19 12:57 (192.168.0.60
Comando W
O W El comando también proporciona una lista bien formateada de los usuarios activos actualmente, incluido el tiempo libre y el último comando ejecutado. También muestra el tiempo que el sistema ha estado funcionando en la línea superior y proporciona una carga promedio para conocer el nivel de actividad del sistema. En este caso (0,00 hasta el final de los minutos 1, 5 y 15), el sistema será prácticamente cero.
$ w 14:23:19 up 1 day, 20:24, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT shs pts/0 192.168.0.6 12:57 0.00s 0.14s 0.01s w nemo pts/1 192.168.0.6 12:58 1:24m 0.03s 0.03s -bash
ID de comando
Me gusta Yo iría comando, puede ver el ID de usuario y el número de ID de grupo (ID de cada miembro del grupo). Esta información se toma de / etc / passwd y / etc / archivos de grupo . No hay argumentos, el comando id reporta la información de su cuenta.
$ id uid=1000(shs) gid=1000(shs) groups=1000(shs),4(adm),11(admin),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),500(devops) $ id nemo uid=1001(nemo) gid=1001(nemo) groups=1001(nemo),16(fish)
El comando auth.log
Puede obtener información del archivo /var/log/auth.log con comandos como grep . Para ver la actividad de inicio de sesión más reciente utilizando el auth.log emita el siguiente comando:
$ grep "New session" /var/log/auth.log | awk '{print $1,$2,$3,$11}' | tail -5 Jun 17 17:22:38 shs. Jun 17 17:58:43 gdm. Jun 17 18:09:58 shs. Jun 19 12:57:36 shs.
Último comando
El último comando es el mejor método para ver los inicios de sesión recientes de todos los usuarios o de un individuo. Recuerde que la actividad más reciente se mostrará primero porque esta es la información que le interesa a la mayoría de los administradores.
$ last | head -5 nemo pts/1 192.168.0.6 Fri Jun 19 12:58 still logged in shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32) reboot system boot 5.4.0-37-generic Wed Jun 17 17:58 still running shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34) $ last nemo | head -5 nemo pts/1 192.168.0.6 Fri Jun 19 12:58 - 16:21 (03:22) nemo pts/2 192.168.0.6 Sat Jun 13 17:49 - 19:05 (01:16) nemo pts/1 192.168.0.6 Thu Jun 4 17:33 - 17:44 (00:10) nemo pts/1 192.168.0.19 Mon May 11 19:04 - 19:57 (00:52) nemo pts/1 192.168.0.19 Tue May 5 12:46 - 17:49 (05:02)
Du comando
El comando du informará cuánto espacio cada usuario directorio de inicio está usando si está ejecutando cada uno de los directorios / home de esta manera:
$ sudo du -sk /home/* 289 /home/dorothy 116 /home/dory 88 /home/eel 28 /home/gino 28 /home/jadep 12764 /home/nemo 732 /home/shark 418046 /home/shs 108 /home/tadpole
De forma predeterminada, los tamaños se informan en unidades de 1024 bytes.
Ps comando e historia
Para los usuarios que han iniciado sesión actualmente, siempre puede usar comandos como ps -ef | grep ^ nemo para ver qué comandos y procesos está ejecutando el usuario. Para ver los comandos que se ejecutaron anteriormente, puede intentar ver los archivos del historial del usuario (por ejemplo, .bash_history), pero tenga en cuenta que el usuario puede configurar su cuenta para que ciertos comandos no aparezcan. en el archivo de historial y también pueden editar esos archivos, si lo desean.
Cuente el número de inicio de sesión
Si desea ver el número de veces que cada uno de sus usuarios ha iniciado sesión desde el / var / log / archivo wtmp se ejecutó por última vez, use un comando como este:
$ for USER in `ls /home` > do > cnt=`last $USER | grep ^$USER | wc -l` # count logins > echo $USER: $cnt # show login count > done
La salida se verá así:
dorothy: 0 dory: 0 eel: 8 gino: 0 jadep: 102 nemo: 39 shark: 50 shs: 105 tadpole: 0
Si desea más detalles, puede solicitar un script más complejo, posiblemente agregando alguna información adicional, como detalles de inicio de sesión y formato.
#!/bin/bash sepline="====================" for USER in `ls /home` do len=`echo $USER | awk '{print length($0)}'` # get length of username echo $USER sep="${sepline:1:$len}" # set separator echo $sep # print separator cnt=`last $USER | grep ^$USER | wc -l` # count logins echo logins: $cnt # show login count last $USER | grep ^$USER | head -5 # show most recent logins echo
El script anterior limita los datos que se muestran en los últimos cinco inicios de sesión, pero puede cambiarlo fácilmente si lo desea. Así es como se formatearán los datos de un usuario:
shs === logins: 105 shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32) shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34) shs pts/0 192.168.0.25 Wed Jun 17 17:20 - 17:57 (00:36) shs pts/1 192.168.0.6 Wed Jun 17 15:19 - 17:57 (02:38)
sistema operativo linux linux
Comando de dedo
Un comando útil para rastrear la actividad del usuario es el dedo . Este comando le permite ver quién inició sesión o simplemente se centró en la información de la actividad de un usuario, ver cuándo el usuario inició sesión por última vez, desde dónde iniciar sesión, etc. En este ejemplo, realizaremos un seguimiento de la acción de la actividad del nombre de usuario de nemo.
$ finger nemo Login: nemo Name: Nemo Demo Directory: /home/nemo Shell: /bin/bash On since Fri Jun 19 12:58 (EDT) on pts/1 from 192.168.0.6 7 minutes 47 seconds idle New mail received Wed Jun 17 18:31 2020 (EDT) Unread since Sat Jun 13 18:03 2020 (EDT) No Plan.
Podemos ver el nombre completo, el directorio principal y el shell de nemo. También podemos ver la última actividad de inicio de sesión y correo electrónico de nemo. Las oficinas, los teléfonos comerciales y los teléfonos residenciales aparecen solo si se especifica en el archivo / etc / passwd con el campo de nombre completo. Por ejemplo:
nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash).
La salida anterior también indica que nemo no tiene un “plan”, pero solo significa que ese usuario no creó un archivo .plan y no puso texto en él; Nada fuera de lo común.
Sin un argumento, el dedo El comando mostrará una lista de los inicios de sesión actuales en el formato que se muestra a continuación. Puede ver cuando inician sesión, la dirección IP que usaron, el terminal que estaban usando (por ejemplo, pts / 1)
$ finger Login Name Tty Idle Login Time Office Office Phone nemo Nemo Demo pts/1 1:24 Jun 19 12:58 (192.168.0.6) shs Sandra Henry-Stocker pts/0 Jun 19 12:57 (192.168.0.60
Comando W
O W El comando también proporciona una lista bien formateada de los usuarios activos actualmente, incluido el tiempo libre y el último comando ejecutado. También muestra el tiempo que el sistema ha estado funcionando en la línea superior y proporciona una carga promedio para conocer el nivel de actividad del sistema. En este caso (0,00 hasta el final de los minutos 1, 5 y 15), el sistema será prácticamente cero.
$ w 14:23:19 up 1 day, 20:24, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT shs pts/0 192.168.0.6 12:57 0.00s 0.14s 0.01s w nemo pts/1 192.168.0.6 12:58 1:24m 0.03s 0.03s -bash
ID de comando
Me gusta Yo iría comando, puede ver el ID de usuario y el número de ID de grupo (ID de cada miembro del grupo). Esta información se toma de / etc / passwd y / etc / archivos de grupo . No hay argumentos, el comando id reporta la información de su cuenta.
$ id uid=1000(shs) gid=1000(shs) groups=1000(shs),4(adm),11(admin),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),500(devops) $ id nemo uid=1001(nemo) gid=1001(nemo) groups=1001(nemo),16(fish)
El comando auth.log
Puede obtener información del archivo /var/log/auth.log con comandos como grep . Para ver la actividad de inicio de sesión más reciente utilizando el auth.log emita el siguiente comando:
$ grep "New session" /var/log/auth.log | awk '{print $1,$2,$3,$11}' | tail -5 Jun 17 17:22:38 shs. Jun 17 17:58:43 gdm. Jun 17 18:09:58 shs. Jun 19 12:57:36 shs.
Último comando
El último comando es el mejor método para ver los inicios de sesión recientes de todos los usuarios o de un individuo. Recuerde que la actividad más reciente se mostrará primero porque esta es la información que más interesa a los administradores.
$ last | head -5 nemo pts/1 192.168.0.6 Fri Jun 19 12:58 still logged in shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32) reboot system boot 5.4.0-37-generic Wed Jun 17 17:58 still running shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34) $ last nemo | head -5 nemo pts/1 192.168.0.6 Fri Jun 19 12:58 - 16:21 (03:22) nemo pts/2 192.168.0.6 Sat Jun 13 17:49 - 19:05 (01:16) nemo pts/1 192.168.0.6 Thu Jun 4 17:33 - 17:44 (00:10) nemo pts/1 192.168.0.19 Mon May 11 19:04 - 19:57 (00:52) nemo pts/1 192.168.0.19 Tue May 5 12:46 - 17:49 (05:02)
Du comando
El comando du informará cuánto espacio cada usuario directorio de inicio está usando si está ejecutando cada uno de los directorios / home de esta manera:
$ sudo du -sk /home/* 289 /home/dorothy 116 /home/dory 88 /home/eel 28 /home/gino 28 /home/jadep 12764 /home/nemo 732 /home/shark 418046 /home/shs 108 /home/tadpole
De forma predeterminada, los tamaños se informan en unidades de 1024 bytes.
Ps comando e historia
Para los usuarios que han iniciado sesión actualmente, siempre puede usar comandos como ps -ef | grep ^ nemo para ver qué comandos y procesos está ejecutando actualmente el usuario. Para ver los comandos que se ejecutaron anteriormente, puede intentar ver los archivos del historial del usuario (por ejemplo, .bash_history), pero tenga en cuenta que el usuario puede configurar su cuenta para que ciertos comandos no aparezcan. en el archivo de historial y también pueden editar esos archivos, si lo desean.
Cuente el número de inicio de sesión
Si desea ver el número de veces que cada uno de sus usuarios ha iniciado sesión desde el / var / log / archivo wtmp se ejecutó por última vez, use un comando como este:
$ for USER in `ls /home` > do > cnt=`last $USER | grep ^$USER | wc -l` # count logins > echo $USER: $cnt # show login count > done
La salida se verá así:
dorothy: 0 dory: 0 eel: 8 gino: 0 jadep: 102 nemo: 39 shark: 50 shs: 105 tadpole: 0
Si desea más detalles, puede solicitar un script más complejo, posiblemente agregando alguna información adicional, como detalles de inicio de sesión y formato.
#!/bin/bash sepline="====================" for USER in `ls /home` do len=`echo $USER | awk '{print length($0)}'` # get length of username echo $USER sep="${sepline:1:$len}" # set separator echo $sep # print separator cnt=`last $USER | grep ^$USER | wc -l` # count logins echo logins: $cnt # show login count last $USER | grep ^$USER | head -5 # show most recent logins echo
El script anterior limita los datos que se muestran en los últimos cinco inicios de sesión, pero puede cambiarlo fácilmente si lo desea. Así es como se formatearán los datos de un usuario:
shs === logins: 105 shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32) shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34) shs pts/0 192.168.0.25 Wed Jun 17 17:20 - 17:57 (00:36) shs pts/1 192.168.0.6 Wed Jun 17 15:19 - 17:57 (02:38)