URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 4641
[ Назад ]

Исходное сообщение
"Squid+Sarg авторизация отчетов"

Отправлено Smax , 23-Янв-07 08:52 
Локальная сеть, на шлюзе стоит squid и анализатор логов sarg 2.0.8. В sarge должна быть возможность создать авторизацию отчетов, чтобы каждый пользователь ходил только в свой, для этого я установил  в sarg.conf следующее
user_authentication yes
AuthName "Internet"
AuthType Basic
AuthUserFile /usr/local/etc/squid/squid.users
require user  %u

Но файлы .htacces в каталогах пользователей(10.0.0.37, 10.0.0.38.....) не создаются
В чем может быть дело?


Содержание

Сообщения в этом обсуждении
"Squid+Sarg авторизация отчетов"
Отправлено freddy , 23-Янв-07 11:29 
У меня sarg 2.2.1

надо:

1) активировать соответствующие опции сарг:

У меня :

user_authentication yes
AuthUserFile /etc/httpd/passwd
AuthName "SARG, Restricted Access"
AuthType Basic
Require require user admin %u
#В sarg 2.2.1 ошибка, и слово require надо писать 2 раза.

2) создать файл passwd припомощи команды htpasswd (см. man) и положить его в доступном месте;

Например :

htpasswd -bc /etc/httpd/passwd юзер1 пароль1
Это первый раз,для первого юзера. Потом, для второго и следующих юзеров запускать без ключа -с :

htpasswd -b /etc/httpd/passwd юзер2 пароль2

3) разрешить использование .htaccess в Apache (AllowOverride All),
прописав в дополнительном конфиге апача для сарга ( /etc/httpd/conf.d/sarg.conf)
строку AllowOverride All .
Дополнительный конфиг апача для сарга /etc/httpd/conf.d/sarg.conf выглядит так:

Alias /sarg /var/www/sarg

<Directory /var/www/sarg>
DirectoryIndex index.html
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from 192.168.0.0/24
AllowOverride All
# Allow from your-workstation.com
</Directory>


Строки Allow from 192.168.0.0/24
       AllowOverride All
добавил туда вручную, остальное было.

Получилось следующее:

сарг создает каталоги следующего вида:
/var/www/sarg/ONE-SHOT/03Jul2006-05Jul2006/192.168.0.56/
в которых лежит такой .htaccess :

AuthUserFile /etc/httpd/passwd
AuthName "SARG, Restricted Access"
AuthType Basic
<Limit GET POST>
Require user admin 192.168.0.56
</LIMIT>

/etc/httpd/passwd у меня такой:

admin:его_пароль
192.168.0.56:пароль



"Squid+Sarg авторизация отчетов"
Отправлено Smax , 23-Янв-07 12:45 

>сарг создает каталоги следующего вида:
>/var/www/sarg/ONE-SHOT/03Jul2006-05Jul2006/192.168.0.56/
>в которых лежит такой .htaccess :
>
>AuthUserFile /etc/httpd/passwd
>AuthName "SARG, Restricted Access"
>AuthType Basic
><Limit GET POST>
>Require user admin 192.168.0.56
></LIMIT>
>

Дак вот, и проблема в том, что не создает он файлы .htaccess
Хотя в конфиге сарга все нужные опции включены


"Squid+Sarg авторизация отчетов"
Отправлено freddy , 23-Янв-07 16:50 
Значит надо ставить новую версию.
Вообще sarg глючная вещь.
В версии 2.2.1 заметил 3 ошибки.

"Squid+Sarg авторизация отчетов"
Отправлено Smax , 24-Янв-07 11:25 
>Значит надо ставить новую версию.
>Вообще sarg глючная вещь.
>В версии 2.2.1 заметил 3 ошибки.

Поставил 2.2.1 .......все тоже самое



"Squid+Sarg авторизация отчетов"
Отправлено freddy , 24-Янв-07 13:07 
а файл  /usr/local/etc/squid/squid.users - это точно файл паролей?



"Squid+Sarg авторизация отчетов"
Отправлено Smax , 24-Янв-07 15:25 
>а файл  /usr/local/etc/squid/squid.users - это точно файл паролей?

Да
вот его содержимое  
admin:5FaxvTwbjg3Lo



"Squid+Sarg авторизация отчетов"
Отправлено Smax , 24-Янв-07 15:48 
Freddy помоги
вот auth.c
#include "include/conf.h"

void htaccess(char *name)
{
   FILE *fp_auth;

   if(strncmp(UserAuthentication,"yes",3) !=0 )
      return;

   sprintf(warea,"%s/%s/.htaccess",dirname,name);
   if((fp_auth=fopen(warea,"w"))==NULL) {
      fprintf(stderr, "SARG: (auth) %s: %s\n",text[45],warea);
      exit(1);
   }

   strcpy(warea,Require);
   getword(buf,warea,'%');
   fputs("AuthUserFile ",fp_auth);
   fputs(AuthUserFile,fp_auth);
   fputs("\n",fp_auth);
   fputs("AuthName ",fp_auth);
   if(strstr(AuthName,"\"") == 0)
      fputs("\"",fp_auth);
   fputs(AuthName,fp_auth);
   if(strstr(AuthName,"\"") == 0)
      fputs("\"",fp_auth);
   fputs("\n",fp_auth);
   fputs("AuthType ",fp_auth);
   fputs(AuthType,fp_auth);
   fputs("\n<Limit GET POST>\n",fp_auth);
   fputs(buf,fp_auth);
   fputs(name,fp_auth);
   fputs("\n</LIMIT>\n",fp_auth);

   fclose(fp_auth);

   return;
может в нем что не так и как вааще работает sarg где идет обращение к этому скрипту из /usr/bin/sarg?



"Squid+Sarg авторизация отчетов"
Отправлено freddy , 25-Янв-07 10:06 
я в программировании,языках, ни бум-бум.

может ты делал какие-то изменения в /etc/sarg/sarg.conf ?
я пробовал кое-что там менять - сарг стал вообще работать неправильно.
попробовать можно sarg.conf поставить по умолчанию

а если вручную добавить .htaccess в нужный каталог то работает?

у меня ASPLinux 11 ( сквид 2.5 st11 , апач 2.0.54) , сарг 2.2.1 - всё работает.


"Squid+Sarg авторизация отчетов"
Отправлено Smax , 25-Янв-07 10:58 
>я в программировании,языках, ни бум-бум.
>
>может ты делал какие-то изменения в /etc/sarg/sarg.conf ?
>я пробовал кое-что там менять - сарг стал вообще работать неправильно.
>попробовать можно sarg.conf поставить по умолчанию
>
>а если вручную добавить .htaccess в нужный каталог то работает?
>
>у меня ASPLinux 11 ( сквид 2.5 st11 , апач 2.0.54) ,
>сарг 2.2.1 - всё работает.


Если в ручную все работает....но не добавлять же для всех 50 пользователей вручную....
да и прсьба к тебе не мог бы ты выслать мне sarg и свой sarg.conf. на адрес max@ks.kmtn.ru


"Squid+Sarg авторизация отчетов"
Отправлено freddy , 26-Янв-07 12:55 
ушло

"Squid+Sarg авторизация отчетов"
Отправлено Smax , 26-Янв-07 14:02 
Федор, спасибо........я разобрался в чем было дело
удалил проверку в auth.c   вот эти две строки
if(strncmp(UserAuthentication,"yes",3) !=0 )
      return;
и скомпилировал заново.........все заработало