Назад | Перейти на главную страницу

ldap / AD прокси: невозможно привязать с помощью 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

Примечание. Несмотря на эту ошибку, мои учетные данные ВЕРНЫ, как показано в первом примере, где привязка работает через Last Name, First Name.

Я просматривал примеры в течение нескольких недель, и, что бы я ни пытался, мне кажется, что я не могу привязать к 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

Ваш пример "это работает" работает, потому что 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 он будет работать нормально.