在 Ubuntu 下为 OpenSSO(OpenAM)设置 OpenLDAP

在 Ubuntu 下为 OpenSSO(OpenAM)设置 OpenLDAP

我已成功安装 OpenAM(原为 OpenSSO)并在 Glassfish 容器中运行。我还安装了 OpenLDAP 并最低限度地运行。现在我尝试从另一台服务器(Java Access Manager 和 Sun Java System Directory Server)导入记录的 LDIF 文件,但尝试运行 ldapadd 时出现持续错误:

ldap_add: Invalid syntax (21)
    additional info: objectClass: value #2 invalid per syntax

我已经添加了提供的架构http://blogs.oracle.com/indira/entry/using_openldap_as_user_data,但似乎对错误信息没有影响。可能是我对 LDAP 缺乏一些简单的了解!

这是我的 LDIF 文件中的示例记录(域和密码已更改):

dn: uid=amAdmin,ou=People,dc=domain,dc=org
objectClass: inetuser
objectClass: inetorgperson
objectClass: organizationalperson
objectClass: person
objectClass: top
objectClass: iplanet-am-managed-person
objectClass: iplanet-am-session-service
objectClass: iplanet-am-user-service
objectClass: iPlanetPreferences
objectClass: inetAdmin
objectClass: sunAMAuthAccountLockout
inetUserStatus: Active
cn: amAdmin
sn: amAdmin
userPassword:: ------
uid: amAdmin

我假设上面链接中提供的模式文件应该包含“objectClass”行中使用的所有属性的配置,但这可能是我的核心误解之一!

谢谢你的帮助!

答案1

该错误是由于 objectclass 值无法识别,或者属性语法无效,通常由于条目的 LDIF 定义中有多余的空格。值 #2 是 inetOrgPerson,我认为是第二个选项。

相关内容