Автор Тема: проблемы с sams  (Прочитано 3972 раз)

ska

  • Гость
проблемы с sams
« : 01.04.2012 16:25:20 »
Решил потестить sams. Установил на ноутбуке локально. Все работает вроде нормально, но упорно не считывается статистика по пользователям - ни посещенных страниц, ни трафика - все по нулям. Хотя при выходе в инет сквид спрашивает пароль (использую nsca)  и логин и сохраняет статистику в своих логах. Единсвтенное,  что бросается в глаза при дебаге это htpasswd
[root@asus-notebook ~]# samsdaemon -d                                       
Starting process: pid = 8585                                                 
Read SAMS configuration... Ok                                               
Connected database: squidctrl:localhost user=sams                           
Connected database: squidlog:localhost user=sams                             
Read SAMS properties...                                                     
    Cache... 0                                                               
    User autentification... NCSA                                             
    Sleep time of samsdaemon...  1 second                                   
    Redirector... SAMS                                                       
    SQUID log parser... diskret                                             
    User traffic cleaner... YES                                             
    Squidlog cache save... 1 month                                           
    User name recode... NO                                                   
    Delay pools... ON                                                       
    Domain separators... '0'                                                 
    Log level... '1'                                                         
    Create PDF file... YES                                                   
Ok                                                                           
SQUID log parser time=5 min                                                 
countdown: 293                                                               
    Cache... 0                                                               
    User autentification... NCSA                                             
    Sleep time of samsdaemon...  1 second                                   
    Redirector... SAMS                                                       
    SQUID log parser... diskret                                             
    User traffic cleaner... YES                                             
    Squidlog cache save... 1 month                                           
    User name recode... NO                                                   
    Delay pools... ON                                                       
    Domain separators... '0'                                                 
    Log level... '1'                                                         
    Create PDF file... YES                                                   
Creating SAMS users list /etc/squid/default.sams                             
Creating /etc/squid/ncsa.sams user: netpolice                               
sh: htpasswd: command not found                                             
Creating /etc/squid/ncsa.sams user: wasya                                 
sh: htpasswd: command not found                                             
Used ncsa auth, but nsca.sams don't exist! Create empty one.                 
squid configure file: /etc/squid/squid.conf                                 
countdown: 292                                                               
countdown: 291                                                               
countdown: 290
У меня htpasswd2. Это может быть причиной отсутствия ведения статистики в sams?
А так работает sams
[root@asus-notebook ~]# sams -d
Connected database: squidctrl:localhost user=sams
Connected database: squidlog:localhost user=sams
Starting process: pid = 16572
Cache 0
Reading file: start=0 length=54413
disable user script = /usr/local/share/sams/src/script/send_email_message
Administrator address:
ISP Mb size=1048576, kb size=1024
Found 2 SAMS users
 0:       netpolice                 0.0.0.0.0.0./0.0.0.0.0.0. 1          0    104857600 4f788480576f8 ncsa
 1:        wasya                 0.0.0.0.0.0./0.0.0.0.0.0. 1          0    104857600 4f78848057aac ncsa
Found 0 localhosts
2. SELECT count(*) FROM squidctrl.urlreplace
end=0 newend=54413 clear=0 loadfile=0
Reading new data from /var/log/squid/access.log

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Re: проблемы с sams
« Ответ #1 : 01.04.2012 19:48:16 »
Попробуйте поставить пакет mini_httpd-htpasswd.

ska

  • Гость
Re: проблемы с sams
« Ответ #2 : 23.04.2012 14:58:38 »
Обновив дистрибутив до p6, обнаружил в репозитарии sams (до этого на пятом альте ставил из исходников). Удалил, поставил из репозитария, версия 1.0.5. Все работало нормально. Кроме:
1. Не отображались настройки веб интерфейса web interface settings
2. Не отображались настройки sams administration
3. Не загружался nsca файл с пользователями и паролями (при клике на кнопку загрузить erorr_log апача начинает шустро собирать записи типа
[Mon Apr 23 21:29:46 2012] [error] [client 127.0.0.1] PHP   2. call_user_func() /var/www/html/sams/main.php:388, referer: http://localhost/sams/main.php?show=exe&function=loadncsausersform&filename=usersbuttom_1_ncsa.php
[Mon Apr 23 21:29:46 2012] [error] [client 127.0.0.1] PHP   3. SelectNCSAUsersForm() /var/www/html/sams/main.php:388, referer: http://localhost/sams/main.php?show=exe&function=loadncsausersform&filename=usersbuttom_1_ncsa.php
[Mon Apr 23 21:29:46 2012] [error] [client 127.0.0.1] PHP   4. feof() /var/www/html/sams/src/usersbuttom_1_ncsa.php:92, referer: http://localhost/sams/main.php?show=exe&function=loadncsausersform&filename=usersbuttom_1_ncsa.php
[Mon Apr 23 21:29:46 2012] [error] [client 127.0.0.1] PHP Warning:  fgets() expects parameter 1 to be resource, boolean given in /var/www/html/sams/src/usersbuttom_1_ncsa.php on line 94, referer: http://localhost/sams/main.php?show=exe&function=loadncsausersform&filename=usersbuttom_1_ncsa.php
[Mon Apr 23 21:29:46 2012] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://localhost/sams/main.php?show=exe&function=loadncsausersform&filename=usersbuttom_1_ncsa.php
[Mon Apr 23 21:29:46 2012] [error] [client 127.0.0.1] PHP   1. {main}() /var/www/html/sams/main.php:0, referer: http://localhost/sams/main.php?show=exe&function=loadncsausersform&filename=usersbuttom_1_ncsa.php
размер файла с ошибками мог достигать при этом 47 гб))

Первые две проблемы решились заменой названия функции GetHostName на GetHostNameSams в файлах webconfigtray.php и configtray.php - по слухам самс не дружит с php 5.3.

А вот последняя проблема остается актуальной - не могу загрузить пользователей из файла, созданного htpasswd2.
« Последнее редактирование: 23.04.2012 15:04:14 от ska »

Оффлайн fce

  • Участник
  • *
  • Сообщений: 249
  • ALT Linux, XBMC live, Ubuntu, Kubuntu, Android
    • Dansguardian+
Re: проблемы с sams
« Ответ #3 : 23.04.2012 16:46:19 »
Не везет SAMS
Цитировать
Текущий статус проекта
Данный проект находится в замороженном статусе. После 6 лет разработки почти вся команда утратила интерес к проекту. Версия 2.0.0 в ближайшее время официально выпущена не будет.
С 1 ноября 2011 года я (Pavel Vinogradov) прекращаю поддержку и развитие данного проекта. Остальные разработчики остаются в проекте, но активной разработки пока не планируется.
Я не смогу реагировать на багрепорты или вопросы на форуме/почте.
Почему-то не удивлен... :(
Безвыходных ситуаций не бывает, есть ситуации в которые нет входа. На каждого компьютерного гения найдётся свой хакер с винтом.

Оффлайн fce

  • Участник
  • *
  • Сообщений: 249
  • ALT Linux, XBMC live, Ubuntu, Kubuntu, Android
    • Dansguardian+
Re: проблемы с sams
« Ответ #4 : 23.04.2012 17:04:56 »
судя по коду /var/www/html/sams/src/usersbuttom_1_ncsa.php
  $finp=fopen("data/userlist","r");
 
       print("<H3>$usersbuttom_1_ncsa_SelectNCSAUsersForm_1:</H3>\n");
 
  print("<FORM NAME=\"LOADNCSAUSERS\" ACTION=\"main.php\" >\n");
  print("<INPUT TYPE=\"HIDDEN\" NAME=\"show\" value=\"exe\">\n");
  print("<INPUT TYPE=\"HIDDEN\" NAME=\"function\" value=\"addusersfromncsa\">\n");
  print("<INPUT TYPE=\"HIDDEN\" NAME=\"filename\" value=\"usersbuttom_1_ncsa.php\">\n");
  print("<TABLE>\n");
  $i=0;
  while(feof($finp)==0) 
     {
       $string=fgets($finp,10000);
       $user=trim(strtok($string,":"));
       $passwd=trim(strtok(" "));
       //    $user=trim(strtok("+"));
       if(strlen($user)>0)
         {
            print("<TR>\n");
            print("<TD>$user\n");
            print("<TD> <INPUT TYPE=\"CHECKBOX\" NAME=users$i CHECKED> ");
            $i++;
}   
     }
по первым строкам $finp=fopen("data/userlist","r");, видно что случай, когда невозможно прочитать файл никак не обрабатывается, ни сообщения, ничего вообще даже элементарного or die "проверь права на data/userlist" нет.
проверьте есть ли файл userlist и права доступа на него для web-сервера, ну и за одно права на каталог data.

Вот из-за таких случае лог apache и пухнет.
« Последнее редактирование: 23.04.2012 17:15:42 от fce »
Безвыходных ситуаций не бывает, есть ситуации в которые нет входа. На каждого компьютерного гения найдётся свой хакер с винтом.

ska

  • Гость
Re: проблемы с sams
« Ответ #5 : 23.04.2012 17:30:32 »
Да, файла userlist в каталоге data не оказалось. После создания файла все заработало. Спасибо.

ska

  • Гость
Re: проблемы с sams
« Ответ #6 : 23.04.2012 17:54:46 »
Еще одна незадача. Если импортировать пользователей из ncsa файла, в котором пароли в виде хэшей, то затем эти пользователи не могут авторизоваться для просмотра своей статистики. Однако если не хэшировать пароли, а оставлять их в текстовом виде, то импортируемые пользователи авторизуются.

Оффлайн fce

  • Участник
  • *
  • Сообщений: 249
  • ALT Linux, XBMC live, Ubuntu, Kubuntu, Android
    • Dansguardian+
Re: проблемы с sams
« Ответ #7 : 23.04.2012 19:58:05 »
Я начал писать на PHP совсем недавно, до этого знал чуть-чуть Perl, ну и давным-давно basic в школе на старых   Электрониках.

Интересный проект, однако, поражаюсь тому что делали разработчики 6 лет.
Неудивительно, что проект забросили, хотя если бы руки приложить до ума можно было довести.

В md5 пароли не работают по очень простой причине - они и  хранятся в базе  и используются в нешифрованном виде.
Вот этот код
        $result=mysql_query("INSERT INTO squidusers SET
id=\"$userid\",nick=\"$user\",domain=\"\",name=\"\",
family=\"\",shablon=\"$usershablon\" ,quotes=\"$traffic\",size=\"0\",
enabled=\"$enabled\",squidusers.group=\"$usergroup\",squidusers.soname=\"\",
squidusers.ip=\"\",squidusers.ipmask=\"\",squidusers.passwd=\"$passwd\",hit=\"0\",
squidusers.autherrorc=\"0\", squidusers.autherrort=\"0\" ");
делает запрос в базу.
до этого переменная $passwd нигде не хэшируется в md5, тип поля тоже обычный текстов (60 символов) для хэша нужно 32.
Отсюда вывод, что пароли хранятся открытым текстом, поэтому при импорте md5 и не работает доступ, так как в базе будет хэш а сравниваться он будет с паролем, а не с его хэшем.

Хотя до того, как открыл NetBeans я думал что хэш, хэшируется с солью и вставляется в базу, однако как я заблуждался.

« Последнее редактирование: 23.04.2012 20:05:00 от fce »
Безвыходных ситуаций не бывает, есть ситуации в которые нет входа. На каждого компьютерного гения найдётся свой хакер с винтом.