我已经在运行FreeIPA以进行用户身份验证的Centos 7服务器上安装了openLDAP。 http://www.tecmint.com/setup-ldap-server-and-configure-client-authentication
openLDAP的目的是让Nodejs应用程序管理应用程序的用户。并将在单独的服务器上运行。
我可以看到slapd正在运行(ps -ef | 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上,它要求输入的密码不是&#39已经设定了):
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进行用户身份验证的经验,或者有任何想法需要更改配置以使其正常运行?
答案 0 :(得分:0)
秘密咒语是:
sudo ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
由于“-a”强制在使用ldapmodify时添加新条目,因此与上述相同:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
“ - Q” - 启用SASL安静模式。从不提示。
“ - Y” - 指定用于身份验证的SASL机制。如果未指定,程序将选择服务器知道的最佳机制。