Вижу этот вопрос поднимается часто, помощи сдесь не нашёл, разобрался сам, вот решение.
используется схема ntlm/basic авторизация + группы из ldap
freebsd + squid 2.6 (/usr/ports/squid)
Едиректория с сервером nw 6.5 с настроенным cifs (пользователи без novell client должны нормально заходить на шары cifs)
Работает также через самбу, прикрученную к e-directory через ldap но это отдельный разговор.
Настроенный ldap с разрешенным cleartext password
можно и не cleartext, но это уже нюансы, для простоты настройки их опускаю.
на squid добавляем:
#ntlm авторизация
auth_param ntlm program /usr/local/libexec/squid/ntlm_auth workgroup/nwserver (workgroup - рабочая группа cifs)
auth_param ntlm children 5
#basic авторизация (браузеры не поддерживающие ntlm к примеру)
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -f "(&(objectclass=perso
n)(cn=%s))" -b "o=mycompany" nwserver
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
authenticate_ttl 2 hour
acl password proxy_auth REQUIRED
#настройка хелпера для поиска групп в ldap
#опция -S убирает домен авторизации перед поиском в ldap
external_acl_type LDAP_group %LOGIN /usr/local/libexec/squid/squid_ldap_group -S -P -v 3 -
b "o=mycompany" -f "(&(cn=%g)(uniquemember=%u))" -F "(&(cn=%s)(objectclass=person))" nwserver
#описание самих групп (группы с такими названиями должны присутствовать в e-directory)
acl users_full external LDAP_group inet_users_full
acl users_normal external LDAP_group inet_users_normal
acl users_limited external LDAP_group inet_users_limited
#собственно сами разрешения.
http_access allow password users_full
http_access allow password users_normal
http_access allow password users_limited
нюансы по вкусу (delay pools и.т.п.)
У меня работает