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

Исходное сообщение
"Вопрос по digest auth"

Отправлено sashacrane , 16-Фев-05 12:57 
Привет всем!
Есть необходимость использовать digest_auth для этого собрал squid 2.5 ST7 так:
./reconfigure
    --sysconfdir=/usr/local/etc/squid    \
    --enable-delay-pools            \
    --enable-auth="digest,ntlm"        \
    --enable-external-acl-helpers="wbinfo_group"    \
    --enable-digest-auth-helpers=password
После сборки сделал squid -v:
Squid Cache: Version 2.5.STABLE7
configure options:  --sysconfdir=/usr/local/etc/squid --enable-delay-pools --enable-auth=digest,ntlm --enable-external-acl-helpers=wbinfo_group --enable-digest-auth-helpers=password --silent

В конфе указал
auth_param digest       program /usr/local/squid/libexec/digest_pw_auth /usr/local/etc/squid/test.txt
auth_param digest       children 5
auth_param digest       realm Squid proxy-caching web server
auth_param digest       nonce_garbage_interval 5 minutes
auth_param digest       nonce_max_duration 30 minutes
auth_param digest       nonce_max_count 50

acl                     our_users proxy_auth REQUIRED
http_access             allow our_users
http_access             deny all

Ничего другого касаемого acl, http_access и auth в конфиге больше не указывал для чистоты эксперимента.

Затем squid -k parse - все ОК
Файл /usr/local/etc/squid/test.txt незнаю как создать и для этого в тупую использовал htdigest от apache. Завел юзера user с паролем 123.
Сделал squid -k reconfigure
После этого делаю запрос какого-либо ресурса а он даже не спросив пароля сразу мне в ответ ДОСТУП ЗАПРЕЩЕН.
Если заменить deny all на allow all, то все фурычит.

Вопрос:
1. Как создать файл паролей к этому аутентификатору?
2. Даже если и файл с пользователями корявый то почему Internet Explorer 6.0 sp1 не выдал запрос на ввод имени и пароля? Между прочем когда я делал digest-аутентификацию на apache'е, все получалось а со сквидой нет...
Поможите плиз....


Содержание

Сообщения в этом обсуждении
"Вопрос по digest auth"
Отправлено Не важно. , 17-Фев-05 07:48 
RTFM!

Файл с паролями имеет след. вид:

login:password   где login и password - открытый текст...

       Удачи!


"Вопрос по digest auth"
Отправлено sashacrane , 18-Фев-05 04:07 
Спасибо!
1. Метод RTFM, помог ответить только на второй вопрос. В squid.conf'е написано, что если меняешь тип аутентификации, то сквиду надо ОСТАНОВИТЬ а потом запустить и наслаждатся.
2. На первый же вопрос ответ нашел в исходниках digest_pw_auth, а позже из Вашего поста.
3. Появилась проблема. В сквиде написано
auth_param digest       program /usr/local/squid/libexec/digest_pw_auth /usr/local/etc/squid/users.pwd
auth_param digest       children 5
auth_param digest       realm testrealm
auth_param digest       nonce_garbage_interval 5 minutes
auth_param digest       nonce_max_duration 30 minutes
auth_param digest       nonce_max_count 50

acl                     our_users proxy_auth REQUIRED
http_access             allow our_users
http_access             deny all

и запустил сквиду так: squid -d9 -D -N
она нормально запустилась. Среди прочего написала
helperOpenServers: Starting 1 'digest_pw_auth' processes
Делаю запрос из браузера IE6.0SP1, он запросил данные, я ввел.
В ответ на консоле сервера
WARNING: All digestauthenticator processes are busy.
WARNING: up to 1 pending requests queued
WARNING: digestauthenticator #1 (FD 6) exited Too few digestauthenticator processes are running2005/02/17
11:42:50| Starting new helpers helperOpenServers: Starting 'digest_pw_auth' processes
WARNING: digestauthenticator #1 (FD 15) exited Too few digestauthenticator processes are running2005/02/17

Почему-то при передаче имени и пароля digest_pw_auth'у он сразу заканчивает свою работу.
согласно исходникам digest_pw_auth, он выходит только при условии когда сквида ему ничего не передает
while (fgets(buf, 256, stdin) != NULL){
    ...
}
exit(0);

Народ подскажите как лечить!!!...


"Вопрос по digest auth"
Отправлено sashacrane , 18-Фев-05 04:10 
Опечатка. Строку
helperOpenServers: Starting 1 'digest_pw_auth' processes
читать как
helperOpenServers: Starting 5 'digest_pw_auth' processes

"Вопрос по digest auth"
Отправлено heni , 14-Авг-06 14:18 
>Почему-то при передаче имени и пароля digest_pw_auth'у он сразу заканчивает свою работу.
>
>согласно исходникам digest_pw_auth, он выходит только при условии когда сквида ему ничего
>не передает
> while (fgets(buf, 256, stdin) != NULL){
>    ...
> }
> exit(0);
>
>Народ подскажите как лечить!!!...

Програмка скорее всего падает, так как не может получить доступ к файлу на чтение.
Проверь права доступа на файлик с паролями - он должен читаться пользователем squid