у меня есть Запросить трекер установка на сервере Ubuntu 12.04. Он настроен для аутентификации в активном каталоге через winbind.
Вот соответствующая часть конфигурации apache2:
AuthType NTLM
AuthType Negotiate
AuthName "Request Tracker"
NTLMAuth on
NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
NegotiateAuth on
NegotiateAuthHelper "/usr/bin/ntlm_auth --helper-protocol=gss-spnego"
Счетчик запросов сопоставляет имя пользователя apache, аутентифицированное для своих собственных пользователей, и автоматически регистрирует их. Сайт находится в зоне интрасети Internet Explorer, поэтому он автоматически выполняет вход в систему. Он отлично работает для большинства людей. В журналах доступа apache отображается имя пользователя, выполнившего вход для каждого запроса.
Но на двух наших компьютерах Request Tracker не может сопоставить имя пользователя с учетной записью. И, глядя на журналы Apache, становится очевидным, почему - при попытке входа с этого компьютера имя пользователя, записанное Apache, DOMAIN\\username
, не просто username
.
Apache аутентифицировал их очень хорошо, но с неожиданно отформатированным именем пользователя.
Неважно, кто входит в систему с этих компьютеров, логин записывается как DOMAIN\\username
.
Насколько я могу судить, в проблемных компьютерах нет ничего уникального. Они были развернуты из одного образа, имеют те же групповые политики, те же обновления Windows, ту же версию IE (9), что и рабочие.
Что могло вызвать разницу в форматировании имени пользователя?
Изменить: поскольку это может быть связано с самбой, вот соответствующая часть smb.conf:
[global]
security = ads
realm = STLEONARDS.LOCAL
password server = *
workgroup = STLEONARDS
winbind enum users = yes
winbind enum groups = yes
winbind nested groups = yes
winbind refresh tickets = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = true
winbind use default domain = yes
restrict anonymous = 2
valid users = @"Domain Users"
idmap uid = 70000-100000
idmap gid = 70000-100000
Я пытался изменить winbind use default domain
к no
, но это не имело никакого значения.
Похоже, проблема связана с опцией аутентификации Negotiate. Удаление трех строк для согласования позволило всем пользователям войти в систему, а в журналах веб-сервера было показано пустое имя пользователя.
Я не знаю, почему некоторые компьютеры выбрали NTLM, а некоторые нет. Но с аутентификацией NTLM все работает без сбоев.