Linux: cómo obtener todos los registros de inicio de sesión de mi sistema [cerrado]

12

¿Quiero saber todas las veces que un usuario inicia sesión desde el año pasado en mi sistema?
Usé el lastcomando pero no es útil.

gabo34
fuente
1
bienvenido a Stack Exchange! por favor recuerde que todos somos voluntarios aquí. como tal, esperamos que hayas hecho una investigación básica. parece que tienes un comienzo, ya que mencionas haber probado el lastcomando, pero deberías investigar más que eso, y en cualquier caso, en realidad no has especificado por qué el lastcomando no es útil. también, defina "conectado". ¿Quieres rastrear los inicios de sesión de la consola? SSH inicios de sesión? ¿Emacs no lo permite, telnetinicios de sesión? o simplemente cualquier cosa que se autentique con PAM? Se específico .
strugee

Respuestas:

10

Los registros de inicio de sesión en redhat-style linux se llaman wtmp( man wtmp), se almacenan /var/log/de forma predeterminada y puede recuperarlos usando utmpdump(en RHEL6).

[root@server ~]# utmpdump /var/log/wtmp* | awk '$4~"root" {print}'
Utmp dump of /var/log/wtmp
[7] [01320] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:31:47 2013 UTC]
[7] [01817] [ts/3] [root    ] [pts/3       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:38:22 2013 UTC]
[7] [01690] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:59:04 2013 UTC]
[7] [23641] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Wed Sep 25 19:12:44 2013 UTC]
[7] [03020] [ts/0] [root    ] [pts/0       ] [192.168.1.100       ] [192.168.1.100  ] [Fri Sep 27 21:33:40 2013 UTC]
...
Thomas
fuente
1

Parece que lastpuede usarse para lograr lo que está tratando de hacer. Debe agregar la fecha al último comando para extraer la información.

last | while read line; do date=`date -d "$(echo $line | awk '{ print $5" "$6" "$7 }')" +%s`; [[ $date -ge `date -d "Aug 25 00:00" +%s` && $date -le `date -d "Aug 28 00:00" +%s` ]] && echo $line; done

Sin embargo, si le preocupa encontrar información sobre un usuario en particular, puede modificar el último comando como last usernamey luego canalizar el whilebucle hacia él. Le daría la información de inicio de sesión de un usuario particular durante el último año.

Probé el comando anterior y funciona perfectamente bien en mi sistema. Tomé el comando anterior desde aquí .

Puede cambiar la fecha en el comando para satisfacer sus requisitos.

Ramesh
fuente