У меня Debian 8 Jessie с Samba настроен как рядовой сервер AD. Samba + Winbind отлично работает: я могу создавать общие ресурсы и назначать права пользователям AD; getent passwd показывает как локальных пользователей, так и пользователей AD и т. д.
Некоторые дополнительные проверки, например:
все преуспели
Конфигурация аутентификации в squid.conf (только строки, относящиеся к вопросу):
...
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 16 startup=5 idle=5
...
acl AuthorizedUsers proxy_auth REQUIRED
http_access allow AuthorizedUsers
http_access deny all
...
Я также добавил пользователя доверенное лицо к winbindd_priv группа (как упоминалось здесь):
gpasswd -a proxy winbindd_priv
После перезапуска Squid я получаю диалоговое окно с запросом имени пользователя и пароля в браузере (в любом браузере).
Когда я установил
cache_effective_group root
ntlm_auth работает нормально: нет диалоговых окон для имени пользователя и пароля, имя пользователя получается автоматически и отображается в access.log. Auth не работает при удалении cache_effective_group. Похоже ntlm_auth не может подключиться к Winbind через привилегированный канал, когда эффективная группа не корень.
Я пробовал:
Ничего не помогло
Помогает только "cache_effective_group root"
Для меня не рекомендуется использовать корневую группу для Squid.
Что еще проверить, чтобы запустить его от имени непривилегированного пользователя?
Я сам нашел ответ:
Настоящее место для привилегированного канала Winbind - это / var / lib / samba / winbindd_privileged (НЕ / var / run / samba / winbind_privileged)
В Джесси он принадлежит корень: корень и имеет права: 0750
Я сменил владельца:
chown root:winbindd_priv /var/lib/samba/winbindd_privileged/
Теперь все отлично работает без "cache_effective_group"
PS. Наконец, в 2014 году появилась ошибка :) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754339 это еще не исправлено
Я решил использовать sg на squid.conf
auth_param ntlm program /usr/bin/sg winbindd_priv -c "/usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --require-membership-of=MYDOMAINNAME+WEBGROUPS"
Я боролся с проблемой ntlm auth на Ubuntu 16 с помощью squid 3. Это была моя точная проблема. Как только я сменил владельца, ntlm auth сразу заработал.