如何添加到openLDAP用户objectClass

时间:2018-11-07 07:32:25

标签: ldap openldap

我必须在两个openLDAP服务器之间克隆数据。我从来源获得LDIF,但是导入有问题。我有类似的错误 root@dc:/etc/ldap/schema# ldapadd -Y external -H ldapi:/// -f /tmp/export.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 adding new entry "cn=Tomasz Topolski,ou=Pracownicy,dc=tropico,dc=local" ldap_add: Invalid syntax (21) additional info: objectClass: value #3 invalid per syntax

在谷歌搜索后,我发现问题出在第4个objectClass(因为它从0开始计数),所以我检查了导出的ldif中的第4个objectClass是 objectClass: user 主要问题是。如何将此objectClass添加到我的LDAP中?

1 个答案:

答案 0 :(得分:0)

如果要迁移所有配置,可以使用带有“ -n 0”作为参数的slapcat导出所有配置,包括模式。然后,可以先添加架构,然后再添加数据。

但是,如果仅需要此特定的对象类“用户”,则可以按照以下步骤操作

  1. 创建一个内容与源OPENLDAP用户对象类定义相同的文件user.schema。
  2. 创建conf文件user.conf 包括〜/ user.schema
  3. 创建目录并在以下命令下运行

    mkdir用户目录

    slaptest -f user.conf -F userdir

  4. userdir中生成的文件可用于添加到架构

    服务一巴掌停止

    slapadd -l -n 0

    服务一巴掌启动