Respuestas:
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]
...
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.
lastcomando, pero deberías investigar más que eso, y en cualquier caso, en realidad no has especificado por qué ellastcomando 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 .