Não é possível ver objectClass do esquema personalizado

1

Eu adicionei um novo esquema ao meu servidor ldap, mas quando eu trey para criar uma entrada com atributos customClass personalizados, ele não vê minhas coisas personalizadas. É apenas experimental, então os OIDs não são importantes.

Meu arquivo 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 )

Depois adicionei-o com:

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

Depois de reiniciar o servidor, tentei criar entradas com este ldif:

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

Depois de tentar adicionar isto:

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

Eu recebo:

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

Depois de tentar explorar o diretório LDAP com o navegador LDAP (JXplorer), não consegui encontrar nenhum atributo ou classe de objeto que defini. Alguém pode me ajudar?

    
por shadox 14.07.2014 / 00:51

1 resposta

0

Parece que você está tentando um valor cn para sua entrada do ldap, quando nenhuma das objectClasses que você deu nessa entrada suportam usando cn.

Você pode tentar alterar seu esquema ou alterar a entrada em si.

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

Como alternativa, se você estiver usando core.schema , o memberOf overlay e nis.schema ou rfc2307bis.schema você pode criar algo sem nenhum esquema adicional.

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
    
por 20.07.2014 / 18:03