ldap/AD proxy: невозможно связать, используя sAMAccountName, но фамилия и имя могут связываться
Я пытаюсь настроить сквозной прокси-сервер для Active Directory, используя ldap в Debian Wheezy. Файл slapd.conf находится ниже. Я могу связать просто найти, используя фамилию, имя:
ldapsearch -x -h localhost -b "OU=Site-Users,DC=mycompany,DC=local" -D "cn=LaCroix\, Jay,OU=My Group,OU=Site-Users,DC=mycompany,DC=local" -W "(sAMAccountName=jlacroix)" cn sAMAccountName
И это работает:
result: 0 Success
Но то, что мы действительно хотим сделать, это связать через имя пользователя (sAMAccountName):
ldapsearch -x -h localhost -b "OU=Site-Users,DC=mycompany,DC=local" -D "cn=jlacroix,OU=My Group,OU=Site-Users,DC=mycompany,DC=local" -W "(sAMAccountName=jlacroix)" cn sAMAccountName
и это не работает
ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
Примечание. Несмотря на эту ошибку, мои учетные данные верны, как показано в первом примере, где привязка работает через Фамилия, Имя.
Я искал примеры в течение нескольких недель, и что бы я ни пытался, я не могу связываться с sAMAccountName, только Фамилия, Имя.
Я могу искать sAMAccountName при прямом поиске в AD, но не при использовании моего прокси-сервера ldap.
Вот мой /etc/ldap/slapd.conf:
# Import our schema
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/samaccountname.schema
moduleload back_ldap
moduleload back_bdb.la
moduleload rwm
# Support both LDAPv2 and LDAPv3
allow bind_v2
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 1
# Our slapd-ldap back end to connect to AD
database ldap
suffix ou=Site-Users,dc=mycompany,dc=local
subordinate
rebind-as-user yes
uri ldap://10.10.10.99:389
chase-referrals yes
readonly yes
#protocol-version 3
overlay rwm
rwm-map attribute uid sAMAccountName
rwm-map attribute mail proxyAddresses
binddn cn=ADreader
bindpw supersecretpassword
# Our primary back end
database bdb
suffix dc=mycompany,dc=local
rootdn cn=admin,dc=mycompany,dc=local
rootpw supersecretpassword
directory /var/lib/ldap
# Indexes for this back end
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uid eq,pres,sub
1 ответ
Вы "это работает" пример работы, потому что DN объекта cn=LaCroix\, Jay,OU=My Group,OU=Site-Users,DC=mycompany,DC=local
, Второе не работает, потому что DN объекта не cn=jlacroix,OU=My Group,OU=Site-Users,DC=mycompany,DC=local
,
Дело не в том, что вы привязываетесь к "Фамилии, имени", скорее, для CN объекта установлено "Фамилия, Имя", и вы привязываетесь к CN объекта. Вы не можете просто поставить sAMAccountName
в качестве CN и ожидаем, что это сработает. CN объекта - это CN объекта.
Привязка напрямую к AD с привязанным DN "DOMAIN\sAMAccountName" будет работать нормально. Я не думаю, что OpenLDAP справится с этим, подумал. Вероятно, этот синтаксис будет отклонен, хотя, с точки зрения Active Directory, он будет работать нормально.