加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

openldap – ldap_add错误(80)处理程序退出1

发布时间:2020-12-15 18:38:36 所属栏目:安全 来源:网络整理
导读:我正在尝试按照 this教程设置一个基本的LDAD服务器(OpenLDAP)进行cleint身份验证,但我仍然坚持我添加后端配置的步骤. 我已经按照指定创建了我的backend.ldif文件,我正在尝试添加它: sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif 但我得到: SASL
我正在尝试按照 this教程设置一个基本的LDAD服务器(OpenLDAP)进行cleint身份验证,但我仍然坚持我添加后端配置的步骤.

我已经按照指定创建了我的backend.ldif文件,我正在尝试添加它:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.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 (e.g.,implementation specific) error (80)
    additional info: <olcModuleLoad> handler exited with 1

完整的LDIF是:

#Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=us" write by * read

有关如何排除故障的任何建议?我对LDAP服务器一无所知这是我的第一个.

更新:

我已经开始使用全新的11.04服务器安装.

我做了以下事情:

hostname ldap.mycompany.com
nano /etc/hosts (set to ldap.mycompany.com)
nano /etc/hostname (set to ldap.mycompany.com)
sudo apt-get install slapd ldap-utils

我尝试加载第一个架构:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif

我明白了:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,implementation specific) error (80)
    additional info: olcAttributeTypes: Duplicate attributeType: "0.9.2342.19200300.100.1.2"

我尝试了下面建议的命令:

root@ldap:~# cat /etc/ldap/slapd.d/cn=config/cn=module{0}.ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
structuralObjectClass: olcModuleList
entryUUID: 3bedbe64-e4b2-1030-832a-17900c7b3644
creatorsName: cn=config
createTimestamp: 20120206020131Z
entryCSN: 20120206020131.785958Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120206020131Z

但是这次没有关于模块,它抱怨“Duplicate attributeType”.

所以我需要一个命令,显示“显示已加载的属性类型”,以查看“余弦”是否已在列表中?

好的,我要假设:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

是不必要的,因为他们都产生相同的错误.

所以我继续添加?/ backend.ldif.我从顶部删除了load modeule行,因为模块似乎已经加载了.

现在当我尝试添加:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

我明白了:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=auth
SASL SSF: 0
adding new entry "olcDatabase=hdb,implementation specific) error (80)
    additional info: <olcSuffix> namingContext "dc=mycompany,dc=us" already served by a preceding hdb database

这是没有意义的,因为这是计算机上唯一的数据库,这是我要添加的第一个条目.

该错误消息表明back_hdb模块已包含在配置中.您可以使用该命令进行验证
cat /etc/ldap/slapd.d/cn=config/cn=module{0}.ldif

如果这包括类似于以下的行,则它已包括在内:

olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb

如果是这种情况,只需从backend.ldif中删除前六行,然后重试.

如果要从头开始,可以使用该命令

apt-get purge slapd ldap-utils

摆脱包括所有数据文件在内的完整ldap安装.

之后,您需要使用相应的命令重新安装OpenLDAP

apt-get install slapd ldap-utils

顺便说一下,我只是按照本教程(使用他们脚本中的所有默认值),这在新创建的Lucid VM上运行良好.

编辑

好的,在你的另一篇文章中你谈到了10.04.实际上,与10.04相比,11.04中slapd的自动配置要好得多.它为你做的是关于模式文件和backend.ldif的教程中的所有内容,甚至是前端的一部分:你可以从fronted.ldif中删除以下行并尝试从那里继续:

# Create top-level object in domain
dn: dc=tuxnetworks,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Tuxnetworks
dc: Tuxnetworks
description: LDAP Server 

# Admin user.
dn: cn=admin,dc=tuxnetworks,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: mypassword

一些进一步的提示:OpenLDAP(cn = config)的后端配置只不过是一个与LDAP结构等效的文件系统结构中的LDIF文件集合.您可以在/etc/ldap/slapd.d中自行浏览. 10.04有最低限度让slapd工作,而11.04准备好所有东西,以便你可以立即开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读