Назад | Перейти на главную страницу

OPENLDAP 2.4, разрешить анонимный доступ только для получения открытого ключа пользователя

Я пытаюсь сделать следующее: у меня есть сервер openldap 2.4.45 (тестовый), который содержит пользователей, такие группы:

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

Мне нужно подключить приложение к этому серверу. У некоторых пользователей в DIT есть publicKey (например, bob), я хочу, чтобы анонимная привязка могла получить PublicKey любого пользователя, если он точно знает DN (например, dn: uid = bob, ou = users, dc = example, dc = com), но я бы не хотел, чтобы анонимная привязка могла читать другие атрибуты

Я пытался сделать следующее

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

Но когда я пробую этот запрос

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

Я получаю сообщение «Нет такого объекта (32)», но если я разрешаю доступ к * по * чтению, я получаю PublicKey для пользователя bob ..

Как я могу этого добиться?

Ты должен

  1. предоставить хотя бы search право на корневую запись поиска dc=example,dc=com
  2. даровать read право на псевдоатрибут вход записи, содержащей атрибут PublicKey