como modificar o esquema no openldap

1

Então eu tenho uma nova instalação do openldap em uma máquina debian 9 que atualmente se parece com

Vaiserumbancodedadosparanúmerosdetelefone,tambéméfácil,euvouusaresteexemplo:obancodedadosserádivididonacidade-asruas-easpessoasquevivemnessasruas.

Deveráterestaaparência:dc=city->ou=street->cn=nomedapessoa

Atéaítudobem,eutentocriaroprimeirodc,porexemplo,NovaYorkassim:

root@ldap-test:/etc/ldap/ldif-import#ldapadd-YEXTERNAL-Hldapi:///-f/etc/ldap/ldif-import/createcn.ldifSASL/EXTERNALauthenticationstartedSASLusername:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASLSSF:0addingnewentry"cn=NewYork"
ldap_add: Server is unwilling to perform (53)
        additional info: no global superior knowledge

e é assim que o arquivo ldif se parece:

dn: cn=NewYork
dc: NewYork
distinguishedName: dc=NewYork
name: NewYork
objectClass: top
objectClass: dcObject

Como isso não funcionou, pensei em outra maneira: colocar as ruas no nodomain, só para verificar se funcionaria dessa maneira, mas parece que o esquema está faltando distinguishedName e nome. Eu olhei para os esquemas padrão e core.ldif tem essas entradas, mas elas estão comentadas.

Portanto, não consigo carregar este ldif:

dn: ou=broadway,dc=nodomain
distinguishedName: ou=broadway,dc=nodomain
name: broadway
objectClass: top
objectClass: organizationalUnit
ou: broadway

.

root@ldap-test:/etc/ldap/ldif-import# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/ldif-import/broadway.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "ou=broadway,dc=nodomain"
ldap_add: Object class violation (65)
        additional info: attribute 'distinguishedName' not allowed

Então, carregando distinguishedName no esquema, mas ele mostra a adição de uma nova entrada

"cn=core,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
        additional info: olcAttributeTypes: Duplicate attributeType: "2.5.4.49"

Eu não entendo o porquê, porque nem é carregado em /etc/ldap/slapd.d/cn=config/cn=schema/cn={*}*.ldif

Alguém sabe o que fazer?

    
por lemon 13.04.2018 / 15:09

1 resposta

1

  • name não é um atributo geralmente usado, embora cn ( commonName ) seja.
  • Não tente adicionar distinguishedName . dn já lida com isso. dn e distinguishedName são aliases para o mesmo atributo, mas somente dn deve ser usado para ldapmodify de operações. Isso inclui ldapadd .

Seu primeiro ldif está falhando porque:

  1. Seu servidor ldap não está configurado para manipular o cn=NewYork namingContext. 2 Você está tentando adicionar um atributo distinguishedName.
  2. objectClass: dcObject não tem atributo name

Seu segundo ldif está falhando porque:

  1. Você está tentando adicionar um atributo distinguishedName.
  2. objectClass: organizationalUnit não tem atributo name

Nota lateral: os atributos do ldap, incluindo as partes usadas em rdn, podem ter espaços neles. Use aspas conforme apropriado.

    
por 15.04.2018 / 18:26

Tags