У меня Debian 8 Jessie с Samba, настроенной как сервер-участник AD. Samba+Winbind работает отлично: я могу создавать общие ресурсы и назначать права пользователям AD;получить парольпоказывает как локальных пользователей, так и пользователей AD и т. д.
Некоторые дополнительные проверки, такие как:
- чистый тестовый вход
- klist и klist -k /etc/krb5.keytab
- wbinfo -t
- wbinfo -a мой_домен\мой_пользователь%мой_пароль
- wbinfo -u
- /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
все они успешны
Конфигурация аутентификации в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 работает нормально: нет диалоговых окон с именем пользователя и паролем, имя пользователя получается автоматически и отображается вдоступ.журнал. Авторизация не работает, когда я удаляюкэш_эффективная_группа. Кажется, чтоntlm_authневозможно подключиться к Winbind через привилегированный канал, когда эффективная группане является корнем.
Я попробовал кое-что:
- изменить групповое владение/var/run/samba/winbind_privilegedкпрокси
- изменить разрешение/var/run/samba/winbind_privilegedразрешить доступ любому пользователю
- наборкэш_эффективная_группаявноwinbindd_priv(и проверьте его в списке процессов)
- полностью изменить членство в группепроксипользователь дляwinbindd_priv
Ничего не помогло
Помогает только "cache_effective_group root"
Мне не кажется хорошей идеей использовать корневую группу для Squid.
Что еще нужно проверить, чтобы запустить его от имени непривилегированного пользователя?
решение1
Я нашел ответ сам:
Настоящее место для привилегированного канала Winbind —/var/lib/samba/winbindd_privileged(НЕ /var/run/samba/winbind_privileged)
В Джесси он принадлежалкорень:кореньи имеет права:0750
Я сменил владельца:
chown root:winbindd_priv /var/lib/samba/winbindd_privileged/
Теперь все работает нормально без "cache_effective_group"
P.S. Наконец-то в 2014 году сообщили об ошибке :) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754339это еще не исправлено
решение2
Боролся с проблемой с ntlm auth на Ubuntu 16 с squid 3. Это была моя проблема. Как только я сменил владельца, ntlm auth сразу же заработал.
решение3
Я решил использовать 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"