背景资料:
CentOS 7 3.10.0-327.18.2.el7.x86_64
此服务器将用作 Active Directory 的代理。
目前似乎ldapsearch
不关心 /etc/openldap/slapd.conf 并且不会绑定,除非我直接使用 -D 和 -w 传递 bindDN 和密码。
我重新安装了 OpenLDAP 服务器
使用以下内容编辑 slapd.conf:
### Schema includes ###########################################################
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
## Module paths ##############################################################
modulepath /usr/lib64/openldap/
moduleload back_ldap
moduleload rwm
## Support both LDAPv2 and LDAPv3
allow bind_v2
# Main settings ###############################################################
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
### Database definition (Proxy to AD) #########################################
database ldap
readonly yes
protocol-version 3
rebind-as-user yes
uri "ldap://10.0.0.90:389"
suffix "DC=secretdomain,DC=com"
idassert-bind bindmethod=simple
binddn="CN=MropenLDAP,OU=Administration,DC=secretdomain,DC=com"
credentials=topsecretpass
mode=none
idassert-authzFrom "*"
overlay rwm
rwm-map attribute uid sAMAccountName
rwm-map attribute mail proxyAddresses
### Logging ###################################################################
logfile /var/log/slapd/slapd.log
loglevel 1
冉:slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
确保所有权和权限正确,然后重新启动 slapd。
以下不起作用:
ldapsearch -H ldap://10.0.0.90 -x -b "OU=Administration,DC=secretdomain,DC=com" -v -LLL "(samaccountname=someusername)"
ldapsearch -H ldap://10.0.0.90 -x -b "OU=Administration,DC=secretdomain,DC=com" -v -LLL
它给了我这个错误:
ldap_initialize( ldap://10.0.0.90:389/??base )
filter: (objectclass=*)
requesting: All userApplication attributes
Operations error (1)
Additional information: 000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1
但是,当我直接传递绑定帐户 DN 时,它可以工作。我从 /etc/openldap/slapd.conf 文件中检查了这两条信息是否相同:
ldapsearch -H ldap://10.0.0.90 -x -b "OU=Administration,DC=secretdomain,DC=com" -v -LLL -D "CN=MropenLDAP,OU=Administration,DC=secretdomain,DC=com" "(samaccountname=someusername)" -w topsecretpass
ldapsearch
不使用slapd.conf
它使用ldap.conf
(或下面概述的许多其他地方)。Binddn
不能在全局 ldap.conf 文件中有效地设置,因为它被认为是用户专用选项,因此如果在那里找到则忽略。