Não é uma senha incorreta, por exemplo, Invalid credentials (49)
.
É Invalid syntax (21)
. Especificamente, no caso de objectClass, você está tentando usar um objectClass que não existe ( olcPPolicyConfig
).
O OpenLDAP conta com valores de vários atributos, dos quais o objectClass é um, iniciando em 0. O que significa que o seu ldapadd se parece com:
value#0: top
value#1: olcConfig
value#2: olcOverlayConfig
value#3: olcPPolicyConfig
O olcPPolicyConfig
objectClass é fornecido pela biblioteca libtool ppolicy.la
, que geralmente precisa ser carregada como um módulo. O mesmo vale para memberOf
e a maioria das outras sobreposições.
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// <<EOF
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: ppolicy.la
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: memberof.la
EOF
O caminho do módulo pode ser diferente, acima do caminho correto para o CentOS7.