Linux: cara mendapatkan semua log masuk dari sistem saya [ditutup]

12

Saya ingin tahu setiap kali pengguna mencatat sejak tahun lalu ke sistem saya?
Saya menggunakan lastperintah tetapi tidak berguna.

gabo34
sumber
1
selamat datang di Stack Exchange! harap diingat bahwa kita semua adalah sukarelawan di sini. dengan demikian, kami berharap Anda telah melakukan riset dasar. sepertinya Anda memiliki sebuah awal - karena Anda menyebutkan mencoba lastperintah - tetapi Anda harus melakukan lebih banyak penelitian dari itu, dan dalam hal apapun, Anda belum benar-benar ditentukan mengapa para lastperintah tidak berguna. juga, tentukan "login". Anda ingin melacak login konsol? Login SSH? Emacs dilarang, telnetlogin? atau hanya sesuatu yang otentik dengan PAM? lebih spesifik .
strugee

Jawaban:

10

Log login pada linux redhat-style disebut wtmp( man wtmp), disimpan /var/log/secara default, dan Anda dapat mengambilnya menggunakan utmpdump(pada 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
sumber
1

Tampaknya lastdapat digunakan untuk mencapai apa yang Anda coba lakukan. Anda perlu menambahkan tanggal ke perintah terakhir untuk mengekstrak informasi.

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

Namun, jika Anda khawatir menemukan informasi tentang pengguna tertentu, Anda dapat memodifikasi perintah terakhir sebagai last usernamedan kemudian pipa whileloop ke sana. Ini akan memberi Anda informasi informasi login pengguna tertentu selama satu tahun terakhir.

Saya menguji perintah di atas dan berfungsi dengan baik di sistem saya. Saya mengambil perintah di atas dari sini .

Anda dapat mengubah tanggal pada perintah untuk memenuhi kebutuhan Anda.

Ramesh
sumber