OpenLDAP 2.3, SQUID 2.6 ldap_auth у кого-нибудь работает? [Solved]

Не совсем в тематику форума, но на Gentoo наблюдается абсолютно то же самое.

FreeBSD 6.2, системную авторизацию переделал на OpenLDAP (предполагается, что сервер будет держать централизованную базу пользователей).
Установлены следующие пакеты:

openldap-client-2.3.41 Open source LDAP client implementation
openldap-server-2.3.41 Open source LDAP server implementation
pam_ldap-1.8.4      A pam module for authenticating with LDAP
nss_ldap-1.257      RFC 2307 NSS module

В текущем приближении там живут только записи класса posixAccount
Системная авторизация работает - только в путь. Индеец - аналогично.
Пробую задействовать авторизацию через LDAP для SQUID'а (в текущем срезе портов это - 2.6.18).
Согласно инструкции (сволочи, не указывают на каких версиях это работает), первым этапом рекомендуется произвести проверку (здесь для случая Gentoo):

/usr/lib/squid/squid_ldap_auth -b "ou=People,dc=mydomain,dc=ru" -f "uid=%s" localhost

Говорят, что при успешном завершении команда должна вывести "OK".
В моём случае - тишина. При повторном нажатии "Enter" в процессе выполнения - "ERR".
Если прописать в конфиг SQUID'а секцию авторизации (на сервере, т.е. на FreeBSD):

auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -b "ou=People,dc=mydomain,dc=ru" -f "uid=%s" -h localhost
acl ldapauth proxy_auth REQUIRED
http_access allow ldapauth

Авторизация не производится (браузер выдаёт повторный запрос на авторизацию).

При повторении опыта на моей рабочей станции (Gentoo Linux, 2.6.22-gentoo-r9, SQUID 2.6.17, авторизация всё к тому же OpenLDAP-серверу) результат идентичен.

Вопрос: это разработчики что-то поломали (и нужно писать багрепорт) или я что-то неправильно делаю?

ЗЫ: Авторизация через pam_auth также завязанная на тот же LDAP-сервер работает без каких бы то ни было проблем.

Насколько я

Насколько я помню, в конфиге Squid нужно указать версию протокола LDAP (обязательно третья версия). Без этого модуль не отдавал заветный OK. Надо посмотреть еще логи LDAP, что он говорит при попытке аутентификации при loglevel 256.
_______________________
From Siberia with Love!

Уточняющий вопрос

winterheart написал(а):
Насколько я помню, в конфиге Squid нужно указать версию протокола LDAP (обязательно третья версия). Без этого модуль не отдавал заветный OK.

А вообще какой-нибудь вывод (кроме заветного "ОК") у него наблюдался?

winterheart написал(а):
Надо посмотреть еще логи LDAP, что он говорит при попытке аутентификации при loglevel 256.

С учётом того, что на pam_ldap заведена вся системная аутентификация - многовато получается разгребать...
Ладно, будем посмотреть.
--
Live free or die

По идее, если

По идее, если все работает правильно, то он отдает либо ОК Success, либо ERR Success. Если ничего не отдает - ошибка подключения к LDAP. Когда у нас испытывали такую связку, решением был такой конфиг в squid.conf:

auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -b "ou=People, dc=test, dc=ru" 127.0.0.1
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
...
# Раздел настройки ACL:
acl ldap_users proxy_auth REQUIRED
...
# Раздел разрешений:
http_access allow ldap_users

Без ключа "-v 3" (использовать протокол третей версии) ничего не работало.
_______________________
From Siberia with Love!

Thanks! Пошёл

Thanks!
Пошёл шаманить относительно прав доступа (халява, увы, проходит только тогда, когда доступ к 389 порту извне закрыт).

--
Live free or die

Относительно

Относительно прав доступа для OpenLDAP буду разбираться и отпишусь позже.
Для неанонимного доступа использую следующую конструкцию в squid.conf:

auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -b "ou=People,dc=mydomain,dc=ru" -D "uid=squid,ou=People,dc=mydomain,dc=ru" -W /usr/local/etc/squid/passwd 127.0.0.1
acl ldapauth proxy_auth REQUIRED
http_access allow ldapauth

Предварительно задав значение атрибута userPassword для пользователя squid и уделив внимание правам доступа к файлу /usr/local/etc/squid/passwd.
(напоминаю, что здесь речь идёт о FreeBSD, для случая Gentoo необходимо поправить пути).

Пока же интересный момент:
Просто posixAccount - пароль сверяется по атрибуту userPassword.
После добавления objectClass sambaSamAccount дотоле верный пароль "внезапно" становится неправильным и нужно вводить пароль Samba (какой где и как хэш используется для меня пока дело тёмное).

--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".