Constraint violation (19) - additional info: structuralObjectClass: no user modification allowed
Olá!
Ao tentar adicionar um novo Alias na base, por linha de comando,o erro no subject acima é gerado.
Tentei da seguinte forma:
#comando
ldapadd -x -D 'uid=ldapadmin,ou=People,o=mydomain,c=br' -W -f add-aliasesldap.ldif
adding new entry "[email protected],ou=Aliases,o=mydomain,c=br"
ldap_add: Constraint violation (19)
additional info: structuralObjectClass: no user modification allowed
#no add-aliasesldap.ldif:
dn: [email protected],ou=Aliases,o=mydomain,c=br
cn: [email protected]
objectClass: nisMailAlias
objectClass: top
structuralObjectClass: nisMailAlias
creatorsName: uid=ldapadmin,ou=People,o=mydomain,c=br
rfc822MailMember: [email protected]
rfc822MailMember: [email protected]
Por phpldapadmin, seguindo os passos do wizard, foi possível criar o alias!
Porém, nem sempre teremos o phpldapadmin por perto e saber adicionar este Alias via linha de comando é imprescindível, onde peço o help dos colegas.
[ ]s
Re: Constraint violation (19) - additional info: structuralObjectClass: no user modification allowed
Ola,
Este arquivo Ldif deve ter sido gerado por um slapcat ou algo do tipo, certo?
Tive este problema e removendo a linha passou a funcionar normal.
Existem algumas informações no LDAP que somente a Base internamente pode alterar, algumas constaints podem ser alteradas mas não aconselho.
Remova a linha e tente novamente.
Abçs.
Re: Constraint violation (19) - additional info: structuralObjectClass: no user modification allowed
Olá Renato!
Este arquivo eu mesmo gerei ... ms o seu comentário está correto, algumas informações no Ldap somente a base internamente pode alterar, no entanto, esta alteração que estou tentando fazer o phpldapadmin fez...
Nao entendi bem sobre a questao da linha... qual linha vc se refere?
[ ]s
Re: Constraint violation (19) - additional info: structuralObjectClass: no user modification allowed
Olá, consegui adicionar o alias modificando o arquivo .ldif, assim:
dn: cn=<alias>@mydomain.com.br,ou=Aliases,o=mydomain,c=br
cn: <alias>@mydomain.com.br
objectClass: nisMailAlias
objectClass: top
rfc822MailMember: [email protected]
rfc822MailMember: [email protected]
...
Na criação de de uma nova OU - com ldapadd - me deparei com um problema parecido mas pelo que percebi não fora possível escrever na base/possuir direitos devido a OU ser um objeto tratado pelo slapd, sendo assim, deve-se usar o comando slapadd para tal:
service ldap stop
slapadd -l add-alias-ldap.ldif
service ldap start
No add-alias-ldap.ldif:
dn: ou=Administrativo,o=mydomain,c=br
objectclass: top
objectclass: organizationalUnit
ou: Administrativo
description: Ramo contendo as entradas de usuarios do setor Administrativo.
A OU foi criada na base!
Pessoal, o que mencionei acima sobre a criação da OU procede?
[]'s