Debian WheezyでLDAPを使用して、ActiveDirectoryへのパススループロキシを設定しようとしています。 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にバインドできず、姓、名のみにバインドされているようです。
ADを直接検索する場合はsAMAccountNameを検索できますが、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
ではないため、2番目は機能しません。
「姓、名」にバインドしているのではなく、オブジェクトのCNを「姓、名」に設定して、オブジェクトのCNにバインドしています。 sAMAccountName
をCNとして入れて、それが機能することを期待することはできません。オブジェクトのCNはオブジェクトのCNです。
「DOMAIN\sAMAccountName」のバインドDNを使用してADに直接バインドすると、正常に機能します。 OpenLDAPがそれを処理するとは思わない。 Active Directoryの観点からは正常に機能しますが、おそらくその構文は拒否されます。