UserDog Code
Brought to you by:
xido
File | Date | Author | Commit |
---|---|---|---|
configs | 2015-07-01 | kalashmat | [r30] conf change |
init | 2009-01-23 | xido | [r1] first step |
man | 2009-01-23 | xido | [r1] first step |
modules | 2011-05-16 | xido | [r24] debug |
plugins | 2011-05-16 | xido | [r25] new features: binded_process and nocheck_load |
templates | 2011-04-14 | kalashmat | [r13] new version update |
README | 2009-01-23 | xido | [r1] first step |
VERSION | 2011-04-14 | xido | [r16] debug |
banlist | 2011-04-14 | kalashmat | [r13] new version update |
cfgload.pl | 2009-05-13 | xido | [r12] Config parser improvements |
psud.sh | 2011-04-14 | kalashmat | [r13] new version update |
ud-strace.sh | 2009-05-13 | xido | [r11] Update to new version |
unban.pl | 2011-04-14 | kalashmat | [r13] new version update |
unban.sh | 2009-01-23 | xido | [r1] first step |
userdog.cfg | 2009-05-13 | xido | [r11] Update to new version |
userdog.pl | 2011-05-16 | xido | [r25] new features: binded_process and nocheck_load |
userdog.pod | 2011-05-16 | xido | [r25] new features: binded_process and nocheck_load |
##Вся настройка UserDog производится через конфигурационный файл /usr/local/userdog/userdog.cfg # #Файл представляет из себя обычный perl скрипт подключаемый во время запуска. Содарежащий переменные и массивы. #По умолчанию переменные равны нулю, и массивы пусты. $load_avg_max=20; #Максимальный LA при превышении которого будут искаться и уничтожаться "грузуны" $kill_user=1; #Уничтожать их или только писать? $proc_timeout=3600; #Сколько секунд позволено процессу висеть в памяти $proc_cputime=300; #Сколько секунд процессу можно использовать процессор $proc_maxmem=80; #Сколько памяти максимально (в %) может использовать процесс $email_alert =1; #Стучать или не стучать админам? $cpu_autoscale=15; #Коэффициент для автоматического понижения верхней планки CPU ($user_max_cpu) в зависимости #от LA. Для каждой единицы превышающей $load_avg_max планка понижается на $cpu_autoscale/10 $user_max_proc=50; #Максимальное число процессов которое можно иметь юзеру $user_max_mem=30; #То же про память $user_max_cpu=90; #То же про процессор $interval=60; #Как часто сканировать (в секундах) $email='admins@mh01.multihost.ru'; #Ну тут все ясно $pidfile = "/var/run/userdog.pid"; #pidfile $user_min_uid=500; #Минимальный uid пользователя. Меньшие считаются системными и игнорируются. #Если поставить 0 то будет убивать все кроме рута. $use_suphp=1; #Читать лог suphp? 1/0 #Внимание, если на момент запуска пограммы лог не получается открыть, работа продолжается. $suphp_logfile="/usr/local/apache/logs/suphp_log"; #путь к логу suphp $suphp_cache_timeout=5*60; #Сколько секунд хранть данные из suphp лога $sendmail="/usr/sbin/sendmail"; #path to sendmail # массив в котором перечислены пользователи, которых трогать ен надо @ignore_users= ( "mysql","mailman","cpanel","root","nobody","exim" ); #бинарники которые трогать не надо @ignore_exe= ( "/usr/local/cpanel/3rdparty/bin/english/webalizer", "/usr/local/cpanel/3rdparty/bin/imapd", "/usr/lib/courier-imap/bin/pop3d", "/usr/lib/courier-imap/bin/imapd", "/usr/sbin/pure-ftpd", "/usr/sbin/proftpd", "/usr/local/cpanel/cpsrvd", "/usr/local/cpanel/cpanel", "/usr/local/cpanel/cpsrvd-ssl", "/usr/local/cpanel/bin/cppop", "/usr/local/cpanel/bin/cppop-ssl", "/usr/local/cpanel/bin/logrunner", "/usr/sbin/pure-quotacheck", "/usr/sbin/exim", ); #Список бинарников, которые следует убивать по тайм-ауту, но о которых не надо писать. @not_alert_exe= ( "/usr/bin/php", "/usr/sbin/pure-ftpd (deleted)", ); #Командные строки которые следует игнорировать. Сравнивается только начало строки. #Т.е "/usr/bin/perl /usr/local/cpanel/3rdparty/bin/awstats.pl -config=" #соотвествует и "/usr/bin/perl /usr/local/cpanel/3rdparty/bin/awstats.pl -config=12234" #и "/usr/bin/perl /usr/local/cpanel/3rdparty/bin/awstats.pl -config= abvgd" @ignore_cmd= ( "/usr/bin/perl /usr/local/cpanel/3rdparty/bin/awstats.pl -config=", "cpanellogd -", "spamd child", ); 1; # это нужно для механизма подключения файлов в perl