Tại sao / var / log / wtmp trở nên quá lớn? Làm thế nào để kiểm tra tập tin wtmp?


7

Chỉ cần chú ý một số tệp wtmp 640 MB trong một thùng chứa ảo (Ubuntu Hardy).

# last -n 10000 -f /var/log/wtmp.1|wc -l
384
# ls -hl /var/log/wtmp.1
-rw-rw-r-- 1 root utmp 641M 21. Sep 07:49 /var/log/wtmp.1

logrotate chưa được cài đặt (tôi chỉ làm vậy và buộc phải quay).

Có hồ sơ trong đó không được hiển thị bởi last(sẽ hiển thị 1000 mục cuối cùng, nhưng rõ ràng chỉ có 384).

Từ việc lướt nhanh wtmp/utmptrang man, nó không giống như một mục duy nhất nên sử dụng khoảng 1,6 MB.

Có chương trình nào khác ngoài việc lastkiểm tra các tập tin này không?

Câu trả lời:


6

logrotate là một ý tưởng tốt.

Giống như bất kỳ tệp thông thường nào, wtmp có thể là "thưa thớt" (xem lseek (2) "lỗ" và ls -s) có thể hiển thị kích thước tệp cực đoan thực sự chiếm ít đĩa. Làm thế nào mà cái lỗ đến đó, nếu nó là một cái lỗ? getty(8)và bạn bè có thể đã có một lỗi. Hoặc một sự cố hệ thống và sửa chữa fsck có thể đã gây ra nó.

Nếu bạn đang muốn xem nội dung thô của wtmp, odhoặc hdtốt cho việc nhìn trộm các tệp nhị phân và có tác dụng phụ hạnh phúc là hiển thị các khoảng trống dài như vậy.

Trừ khi nó tái diễn, tôi sẽ không suy nghĩ nhiều. Một kẻ xâm nhập có khả năng cận biên sẽ làm việc tốt hơn thế, nội dung không thú vị lắm, và ít phụ thuộc vào chúng.


Tệp không xuất hiện thưa thớt: đây là phần đầu của tệp mới (đã 23MB): pastebin.com/NFtnyUJU Nếu tôi hiểu điều này một cách chính xác, nó trông giống như một loạt các thông tin đăng nhập? (6 = LOGIN_PROCESS). Máy là một thùng chứa OpenVZ, chạy BOINC (tính toán phân tán), vì vậy điều này có thể đúng như mong đợi. Có một máy khác với tệp wtmp khổng lồ (phpmyadmin, máy chủ web), trong đó đầu ra hdtrông kỳ quặc hơn: pastebin.com/1UtxYudE
blueyed

7

Chỉ để giúp đỡ những người khác có thể thấy điều này hữu ích ...

Có chương trình nào khác ngoài việc lastkiểm tra các tập tin này không?

Vâng, hãy thử utmpdump.

$ utmpdump /var/log/wtmp

1

Nếu bạn nghi ngờ wtmp có thể có lỗ hổng, bạn có thể thoát khỏi chúng cp --sparsenếu bạn có đủ lõi mới, hoặc fallocate --dig-holesnếu bạn sử dụng phiên bản chưa sử dụng phiên bản linux-linux 2.25. Có lẽ cách tiếp cận thực tế hơn là đóng gói lại wtmp.

utmpdump /var/log/wtmp | utmpdump -r > /tmp/newtmp
ls -l /var/log/wtmp /tmp/newtmp # if significantly smaller
chown root:root /tmp/newtmp
chmod 0554 /tmp/newtmp
mv /tmp/newtmp /var/log/wtmp

Và thậm chí nếu tập tin khá lớn thì chỉ cần xoay & nén.

mv /var/log/wtmp{,.1}
gzip -9 /var/log/wtmp.1
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.