Linux: cách lấy tất cả nhật ký đăng nhập từ hệ thống của tôi [đã đóng]


12

Tôi muốn biết tất cả những lần người dùng đăng nhập từ năm ngoái vào hệ thống của tôi?
Tôi đã sử dụng lastlệnh nhưng nó không hữu ích.


1
Chào mừng đến với Stack Exchange! xin nhớ rằng tất cả chúng ta đều là tình nguyện viên ở đây như vậy, chúng tôi hy vọng rằng bạn đã thực hiện một số nghiên cứu cơ bản. có vẻ như bạn có một khởi đầu - kể từ khi bạn đề cập đến cố gắng các lastlệnh - nhưng bạn nên làm nghiên cứu nhiều hơn thế, và trong mọi trường hợp, bạn chưa thực sự xác định lý do tại sao các lastlệnh là không hữu ích. Ngoài ra, xác định "đăng nhập". Bạn có muốn theo dõi thông tin đăng nhập giao diện điều khiển? Đăng nhập SSH? Emacs cấm, telnetđăng nhập? hoặc bất cứ điều gì xác thực với PAM? được cụ thể .
strugee

Câu trả lời:


10

Nhật ký đăng nhập trên linux kiểu redhat được gọi là wtmp( man wtmp), được lưu trữ /var/log/theo mặc định và bạn có thể truy xuất chúng bằng cách sử dụng utmpdump(trên 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]
...

1

Nó dường như lastcó thể được sử dụng để đạt được những gì bạn đang cố gắng làm. Bạn cần nối ngày vào lệnh cuối cùng để trích xuất thông tin.

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

Tuy nhiên, nếu bạn quan tâm đến việc tìm kiếm thông tin về một người dùng cụ thể, bạn có thể sửa đổi lệnh cuối cùng last usernamevà sau đó chuyển whilevòng lặp sang nó. Nó sẽ cung cấp cho bạn thông tin về thông tin đăng nhập của một người dùng cụ thể trong một năm qua.

Tôi đã thử lệnh trên và nó hoạt động hoàn toàn tốt trong hệ thống của tôi. Tôi đã nhận lệnh trên từ đây .

Bạn có thể thay đổi ngày trong lệnh cho phù hợp với yêu cầu của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.