OPENLDAP 2.4, permite acesso anônimo apenas para obter a chave pública do usuário

1

Estou tentando fazer o seguinte: Eu tenho o servidor 2,4145 openLDAP (teste), que contém usuários, grupos como este:

o=Example(dc=example,dc=com)
  ou=users
    uid=alice
    uid=bob
      PublicKey="...."
  ou=Groups
    cn=group1
    cn=group2

Eu preciso conectar um aplicativo a esse servidor. Alguns usuários em DIT têm um publicKey (como bob), o que eu quero é que o bind anônimo possa obter PublicKey de qualquer usuário se ele souber exatamente o DN (por exemplo, dn: uid = bob, ou = users, dc = example, dc = com), mas eu não quero que o bind anônimo seja capaz de ler outros atributos

Eu tentei fazer o seguinte

olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to attrs=PublicKey by * read stop
olcAccess: {3}to * by * none

Mas quando eu tento esse pedido

ldapsearch -x -b "dc=example,dc=com" -LLL '(&(objectClass=posixAccount)(uid='"bob"'))' 'PublicKey'

Eu recebo um "No such object (32)", mas se eu permitir o acesso a * by * read eu recebo o PublicKey para o usuário bob ..

Como posso conseguir isso?

    
por MR RsO 02.10.2018 / 09:56

1 resposta

1

Você precisa

  1. conceda pelo menos search para a entrada da raiz de pesquisa dc=example,dc=com
  2. conceda read para o pseudo-atributo entrada da entrada que contém o atributo PublicKey
por 02.10.2018 / 11:22