ldap_add:添加pw-sha2.la模块时的其他(如特定于实现)错误(80)

在尝试向OpenLDAP添加模块时遇到此错误:

# ldapadd -H ldapi:/// -Y EXTERNAL -D 'cn=config' -f ./module.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 adding new entry "cn=module,cn=config" ldap_add: Other (eg, implementation specific) error (80) additional info: <olcModuleLoad> handler exited with 1 

这里是ldif:

 # cat module.ldif dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/local/libexec/openldap olcModuleLoad: pw-sha2.la 

这是slapd-sha2.so模块 。 自述说明似乎已过时。

这里是模块目录的内容:

 # ls /usr/local/libexec/openldap pw-sha2.a pw-sha2.la pw-sha2.so pw-sha2.so.0 pw-sha2.so.0.0.0 

目前在OpenLDAP中有一个不同的模块:

 # ldapsearch -H ldapi:/// -Y EXTERNAL -b 'cn=module{0},cn=config' SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 # extended LDIF # # LDAPv3 # base <cn=module{0},cn=config> with scope subtree # filter: (objectclass=*) # requesting: ALL # # module{0}, config dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModuleLoad: {0}syncprov.la # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 

我试图在ldif {1}后缀模块没有成功。

OpenLDAP版本:

 # slapd -V @(#) $OpenLDAP: slapd 2.4.40 (Sep 29 2015 10:26:27) $ [email protected]:/builddir/build/BUILD/openldap-2.4.40/openldap-2.4.40/build-servers/servers/slapd 

我按照下面的步骤来编译模块。

安装先决条件:

 yum -y install git libtool openldap-devel nss nss-devel openssl openssl-devel db4 db4-devel 

获取模块来源:

 git clone https://github.com/gcp/openldap.git 

构build模块:

 cd openldap ./configure make depend make cd contrib/slapd-modules/passwd/sha2/ make make install 
  1. 模块是否已经加载? 我没有在cn = config中看到它。

  2. 我如何将其添加到OpenLDAPconfiguration?

@ 473183469build议这个ldif:

 dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/local/libexec/openldap/ olcModuleLoad: pw-sha2 

当我尝试它,我得到这个错误:

 # ldapadd -H ldapi:/// -Y EXTERNAL -D 'cn=config' -f ./module.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 adding new entry "cn=module{0},cn=config" ldap_add: Naming violation (64) 

编辑2

只是要清楚,我正试图使用​​从CentOS软件包回购中的slapd从github源回购编译的pw-sha2。

 ls -laFtr /usr/local/libexec/openldap/ total 124 -rwxr-xr-x 1 root root 46158 Nov 6 11:53 pw-sha2.so.0.0.0* lrwxrwxrwx 1 root root 16 Nov 6 11:53 pw-sha2.so.0 -> pw-sha2.so.0.0.0* lrwxrwxrwx 1 root root 16 Nov 6 11:53 pw-sha2.so -> pw-sha2.so.0.0.0* -rw-r--r-- 1 root root 910 Nov 6 11:53 pw-sha2.la -rw-r--r-- 1 root root 61274 Nov 6 11:53 pw-sha2.a drwxr-xr-x 2 root root 4096 Nov 6 11:53 ./ drwxr-xr-x. 3 root root 4096 Nov 19 14:19 ../ 

官方的CentOS slapd:

 # slapd -VVV @(#) $OpenLDAP: slapd 2.4.40 (Nov 10 2015 09:41:16) $ [email protected]:/builddir/build/BUILD/openldap-2.4.40/openldap-2.4.40/build-servers/servers/slapd Included static backends: config ldif monitor bdb hdb ldap mdb meta null passwd relay shell sock 

slapd从源码build立:

 # /usr/local/libexec/slapd -VVV @(#) $OpenLDAP: slapd 2.X (Nov 19 2015 14:18:36) $ root@my_hostname.my_domain.com:/root/openldap/servers/slapd Included static overlays: syncprov Included static backends: config ldif monitor bdb hdb mdb relay 

我相当有信心,下面将插入没有错误:

 dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/local/libexec/openldap/ olcModuleLoad: pw-sha2 

我的信心来自于它是我用来启用模块的确切的ldif

另外:如果你想要一个默认的密码模式,请修改frontend PasswordHash

 dn: olcDatabase={-1}frontend,cn=config changetype: modify replace: olcPasswordHash olcPasswordHash: {SHA256}