Yanıtlar:
Redhat tarzı linux üzerindeki oturum açma günlükleri varsayılan olarak depolanan wtmp
( man wtmp
) olarak adlandırılır /var/log/
ve utmpdump
(RHEL6'da) kullanarak bunları alabilirsiniz .
[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]
...
last
Yapmaya çalıştığınız şeyi başarmak için kullanılabilir gibi görünüyor . Bilgileri ayıklamak için tarihi son komuta eklemeniz gerekir.
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
Ancak, belirli bir kullanıcı hakkında bilgi bulmakla ilgileniyorsanız, son komutu olarak değiştirebilir last username
ve daha sonra while
döngüyü buna bağlayabilirsiniz. Son bir yıl için size belirli bir kullanıcının giriş bilgileri hakkında bilgi verir.
Yukarıdaki komutu test ettim ve sistemimde mükemmel çalışıyor. Yukarıdaki komutu buradan aldım .
Komuttaki tarihi gereksinimlerinize uyacak şekilde değiştirebilirsiniz.
last
komutunu - ama bundan daha fazla araştırma yapmak gerektiğini ve her durumda, aslında belirtmediniz nedenlast
komut kullanışlı değildir. ayrıca "oturum açıldı" tanımlayın. Konsol girişlerini izlemek istiyor musunuz? SSH giriş bilgileri? Emacs yasaktelnet
mı , giriş mi? ya da sadece PAM ile doğrulanan herhangi bir şey? olmak spesifik .