Espero não estar fazendo uma pergunta idiota. Eu sou novo em criar meu próprio serviço LDAP.
Para meu banco de dados mdb regular, é fácil adicionar vários administradores. Como ele contém um olcSuffix
atributo, é possível adicionar uma nova UO, adicionar olcAccess
regras e tudo, para que a replicação possa ser configurada para usar um usuário dedicado.
Mas não encontrei uma maneira de fazer algo semelhante ao replicar a configuração:
olcDatabase={0}config,cn=config
Não posso adicionar ou's ao cn=config
dn. Eu recebo o seguinte erro:
could not add entry dn="ou=admins,cn=config" (line=825)
Alguma recomendação?
ATUALIZAÇÃO 20180828
Aqui eu adiciono mais detalhes sobre o que eu tentei.
Quando tento importar, o servidor reclama:
# ldapadd -c -x -H "ldap://localhost" -D "cn=admin,cn=config" -W -f test.ldif
Enter LDAP Password:
adding new entry "ou=admins_group,dc=config"
ldap_add: Server is unwilling to perform (53)
additional info: no global superior knowledge
adding new entry "uid=u1,ou=admins_group,dc=config"
ldap_add: Server is unwilling to perform (53)
additional info: no global superior knowledge
O conteúdo de test.ldif é:
dn: ou=admins_group,dc=config
objectClass: organizationalUnit
ou: admins_group
dn: uid=u1,ou=admins_group,dc=config
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
objectClass: securityPrincipal
uid: u1
cn: u1
sAMAccountName: u1
objectSid: u1
userPassword:: e1NTSEF9VVN6MVpuRmx5bWVmN2w5Tmp5WmJtb3duKzMwSEtXREc=
shadowLastChange: 15969
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1300
gidNumber: 1300
homeDirectory: /home/admin/u1
Quase o mesmo que eu uso para adicionar usuários ao banco de dados mdb
Respostas:
Esse erro específico significa que não há banco de dados com um prefixo correspondente aos DNs de suas entradas. Lembre-se de que o back-end de configuração usa
cn=config
, nãodc=config
. (dc significaria que é um componente de domínio DNS que não é.)Mas mesmo se você acertar o prefixo, receberá apenas um erro diferente (violação do esquema). No final, cn = config não pode ter entradas estranhas, isso é imposto pelo back-end.
A boa notícia é que a conta do usuário não precisa estar em cn = config; pode estar em qualquer lugar do banco de dados. As regras syncrepl e olcAccess não se importam nem um pouco com o sufixo DN de seus usuários; basta adicionar a conta ao banco de dados mdb principal - ou reutilizar o existente.
Por exemplo, esta é minha própria configuração:
Desde que o usuário possa efetuar login no servidor, você pode listá-lo nas ACLs e usá-lo para replicação. (Na verdade, certificado ou SASL / Kerberos logins pode gerar DNs que não existem no diretório em tudo , e aqueles que ainda estão perfeitamente utilizável.)
fonte
olcAccess
regra para permitir permissões de leitura e gravação na configuração para o usuário especificado. Direito?