无法从自定义架构中看到objectClass

我添加了新的架构到我的ldap服务器,但是当我试图用自定义objectClass创build一个自定义属性的条目时,它没有看到我的自定义的东西。 这只是实验性的,所以OID并不重要。

我的custom.schema.ldif文件

dn: cn=deployment,cn=schema,cn=config objectClass: olcSchemaConfig cn: deployment olcAttributeTypes: ( 1000.1.1.1 NAME ( 'user' ) DESC 'Username of the deployer' EQUALITY caseExactMatch SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) olcAttributeTypes: ( 1000.1.1.2 NAME ( 'app' ) DESC 'Application name' EQUALITY caseExactMatch SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) olcAttributeTypes: ( 1000.1.1.3 NAME ( 'port' ) DESC 'Port of the application' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) olcAttributeTypes: ( 1000.1.1.4 NAME 'available' DESC 'App is available' SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 ) olcObjectClasses: ( 1000.2.1.1 NAME 'deploymentClass' DESC 'Deployment class' MUST ( user $ app $ port $ available ) STRUCTURAL ) 

然后我添加它:

 ldapadd -w123 -x -D "cn=admin,cn=config" -f custom.schema.ldif 

重新启动服务器后,我尝试使用此ldif创build条目:

 dn: ou=deployment,dc=las,dc=com objectClass: organizationalUnit ou: deployment dn: cn=app1_user1,ou=deployment,dc=las,dc=com objectClass: deploymentClass cn: app1_user1 user: user1 app: app1 port: 8888 available: 0 

试图添加这个之后:

 ldapadd -x -D "cn=admin,dc=las,dc=com" -w123 -f deployment.base.ldif -c 

我得到:

 adding new entry "cn=app1_user1,ou=deployment,dc=las,dc=com" ldap_add: Invalid syntax (21) additional info: objectClass: value #0 invalid per syntax 

尝试使用LDAP浏览器(JXplorer)探索LDAP目录后,找不到任何我定义的属性或对象类。 有人能帮我吗?

看起来你正在试图将一个cn值添加到你的ldap条目中,当你使用cn给出的那个条目的objectClasses都不支持。

你可以尝试改变你的模式,或者你可以改变条目本身。

 dn: app=app1+user=user1,ou=deployment,dc=las,dc=com objectClass: deploymentClass user: user1 app: app1 port: 8888 available: 0 

另外,如果你使用的是core.schemamemberOf overlaynis.schema或者rfc2307bis.schema你可以不需要额外的模式就可以完成一些任务。

 dn: cn=app1+uid=user1,ou=deployment,dc=las,dc=com objectClass: ipService objectClass: uidObect uid: user1 cn: app1 ipServicePort: 8888 ipServiceProtocol: TCP dn: cn=available-deployments,ou=deployment,dc=las,dc=com objectClass: groupOfNames cn: available-deployments member: cn=app1+uid=user1,ou=deployment,dc=las,dc=com