OpenLDAP应用程序认证的本地配置
问题描述:
我已经在运行FreeIPA的Centos 7服务器上安装了openLDAP用于用户认证。 http://www.tecmint.com/setup-ldap-server-and-configure-client-authenticationOpenLDAP应用程序认证的本地配置
openLDAP的目的是让Nodejs应用程序管理应用程序的用户。并将在单独的服务器上运行。
我可以看到的slapd运行(PS英法| grep的slapd的):
ldap 1287 1 0 06:40 ? 00:00:00 /usr/sbin/slapd -u ldap -h ldapi:/// ldap:///
所以我试图改变使用ldapadd命令的缺省值,我怀疑被连接到FreeIPA LDAP是在包装盒上的配置(使用-x -h它的一些coammands是要求已尚未设置密码):
sudo ldapadd -H ldapi:/// -f ldaprootpasswd.ldif
SASL/GSS-SPNEGO authentication started
ldap_sasl_interactive_bind_s: Local error (-2)
additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate)
如果我运行的ldapsearch然后我似乎能够连接到openLDAP:
sudo ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" "(olcRootDN=*)" olcSuffix olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={2}hdb,cn=config
olcSuffix: dc=my-domain,dc=com
olcRootDN: cn=Manager,dc=my-domain,dc=co
我想也许我可以使用Windows LDAP工具进行外部连接,但出现连接错误。我确实确认该端口是开放的并且可以在外部看到。
nmap -p 389 10.18.16.243
Starting Nmap 7.12 (https://nmap.org) at 2016-09-28 11:25 GMT Daylight Time
Nmap scan report for 10.18.16.243
Host is up (0.00s latency).
PORT STATE SERVICE
389/tcp filtered ldap
MAC Address: BB:BB:BB:BB:BB:00 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 19.92 seconds
我尝试使用,而不是-H -h:
sudo ldapadd -a -x -h localhost -p 389 -D cn=Manager,dc=my-domain,dc=com -W -f ldaprootpasswd.ldif
这提示我输入密码,但我刚刚才安装OpenLDAP和没有设置密码,但(olcRootPW是在ldif文件我试图申请)。
有没有人有使用openLDAP的用户身份验证经验,或有任何想法什么配置需要更改以使其运行?
答
的秘密咒语是:
sudo ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
由于使用的ldapmodify这将是与上面相同,当 “-a” 势力添加新条目:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
“-Q” - 启用SASL安静模式。从不提示。
“-Y” - 指定要用于认证的SASL机制。如果没有指定,程序将选择服务器知道的最佳机制。