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
задан 2 October 2018 в 10:56
1 ответ

Вы должны

  1. предоставить как минимум search право на корневую запись поиска dc = example, dc = com
  2. grant read право на псевдоатрибут запись записи, содержащей атрибут PublicKey
1
ответ дан 3 December 2019 в 23:12

Теги

Похожие вопросы