lockstream 发表于 2014-01-22 09:04

openldap通过slapd-ldap方式代理windows2003R2的AD问题

本帖最后由 lockstream 于 2014-01-22 09:18 编辑

一、系统环境

1、活动目录域控制器:Windows Server 2003 R2 配置为DC,域名为 poc.acc

2、LDAP服务器:CentOS 5.4 ,安装openldap 2.4.23

二、
查看配置文件
cat /etc/openldap/slapd.conf

#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#

include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/duaconf.schema
include         /etc/openldap/schema/dyngroup.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/java.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/ppolicy.schema
include         /etc/openldap/schema/collective.schema

# Allow LDAPv2 client connections.This is NOT the default.
allow bind_v2

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral       ldap://root.openldap.org

pidfile         /var/run/openldap/slapd.pid
argsfile      /var/run/openldap/slapd.args

# Load dynamic backend modules
# - modulepath is architecture dependent value (32/64-bit system)
# - back_sql.la overlay requires openldap-server-sql package
# - dyngroup.la and dynlist.la cannot be used at the same time

# modulepath /usr/lib/openldap
# modulepath /usr/lib64/openldap

# moduleload accesslog.la
# moduleload auditlog.la
# moduleload back_sql.la
# moduleload chain.la
# moduleload collect.la
# moduleload constraint.la
# moduleload dds.la
# moduleload deref.la
# moduleload dyngroup.la
# moduleload dynlist.la
# moduleload memberof.la
# moduleload pbind.la
# moduleload pcache.la
# moduleload ppolicy.la
# moduleload refint.la
# moduleload retcode.la
# moduleload rwm.la
# moduleload seqmod.la
# moduleload smbk5pwd.la
# moduleload sssvlv.la
# moduleload syncprov.la
# moduleload translucent.la
# moduleload unique.la
# moduleload valsort.la

# The next three lines allow use of TLS for encrypting connections using a
# dummy test certificate which you can generate by running
# /usr/libexec/openldap/generate-server-cert.sh. Your client software may balk
# at self-signed certificates, however.
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password

# Sample security restrictions
#       Require integrity protection (prevent hijacking)
#       Require 112-bit (3DES or better) encryption for updates
#       Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
#       Root DSE: allow anyone to read it
#       Subschema (sub)entry DSE: allow anyone to read it
#       Other DSEs:
#               Allow self write access
#               Allow authenticated users read access
#               Allow anonymous users to authenticate
#       Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
#       by self write
#       by users read
#       by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn.(e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

# enable on-the-fly configuration (cn=config)
##database config
##access to *
##      by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
##      by * none

# enable server status monitoring (cn=monitor)
##database monitor
##access to *
##      by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
##      by dn.exact="cn=Manager,dc=my-domain,dc=com" read
##      by * none

#######################################################################
# database definitions
#######################################################################


database      ldap
suffix          "cn=users,dc=poc,dc=acc"
subordinate
rebind-as-user
uri             "ldap://server1.poc.acc/"
chase-referrals yes


database      bdb
suffix          "dc=poc,dc=acc"
rootdn          "cn=manager,dc=poc,dc=acc"
rootpw          password


# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory       /var/lib/ldap

# Indices to maintain for this database
index objectClass                     eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

# Replicas of this database
#replogfile /var/lib/ldap/openldap-master-replog
#replica host=ldap-1.example.com:389 starttls=critical
#   bindmethod=sasl saslmech=GSSAPI
#   authcId=host/ldap-master.example.com@EXAMPLE.COM


三、测试1:
ldapsearch -LLL -x -h localhost -b dc=poc,dc=acc

正常输出:
dn: dc=poc,dc=acc
objectClass: top
objectClass: organization
objectClass: dcObject
dc: poc
o: poc Co,.ltd

dn: ou=test,dc=poc,dc=acc
objectClass: top
objectClass: organizationalUnit
ou: test


四、测试2:
ldapsearch -x -h localhost -LLL -b dc=poc,dc=acc -D cn=administrator,cn=users,dc=poc,dc=acc -W '(cn=administrator)' cn

Enter LDAP Password: 输入域管理员密码

报错输出:
ldap_bind: Invalid credentials (49)


请问高手,是不是我配置文件有问题?windows域服务器是正常工作的,这个配置文件如何修改,还是其他原因?应该如何处理?
页: [1]
查看完整版本: openldap通过slapd-ldap方式代理windows2003R2的AD问题