Рейтинг:0

Ошибка наложения члена OpenLDAP: memberof_value_modify err=32

флаг cn

Я включил оверлей refint и memberof с OpenLDAP 2.4.57, но когда я создаю groupOfNames, я получаю memberof_value_modify .. не удалось err=32 ошибка. У меня также включен syncprov с запасным. Что я делаю не так?

добавление группы

$ ldapadd -W -x -D cn=admin,dc=mydomain,dc=tld << EOF
DN: cn=mygroup,ou=groups,dc=mydomain,dc=tld
класс объекта: верхний
объектный класс: groupOfNames
Сп: моя группа
участник: cn=myüser,ou=members,dc=mydomain,dc=tld
EOF

журнал ошибок

slapd: conn=132979 op=1: memberof_value_modify DN="cn=myüser,ou=members,dc=mydomain,dc=tld" add memberOf="cn=mygroup,ou=groups,dc=mydomain,dc=tld" не удалось ошибка=32
slapd: <= bdb_equality_candidates: (memberOf) не индексируется

конфигурация

$ sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=module{0},cn=config
DN: cn=модуль{0},cn=config
класс объекта: олкмодулелист
сп: модуль{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}синкпров
olcModuleLoad: {2}memberof
olcModuleLoad: {3}изменить

$ sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
DN: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
класс объекта: olcConfig
класс объекта: олкмембероф
объектный класс: олковерлайконфиг
класс объекта: верхний
olcOverlay: член
olcMemberOfDangling: игнорировать
олкмемберофрефинт: ИСТИНА
olcMemberOfGroupOC: группа имен
olcMemberOfMemberAD: член
olcMemberOfMemberOfAD:: bWVtYmVyT2Yg

$ sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b olcOverlay={2}refint,olcDatabase={1}hdb,cn=config
DN: olcOverlay={2}refind,olcDatabase={1}hdb,cn=config
класс объекта: olcConfig
объектный класс: олковерлайконфиг
класс объекта: olcRefintConfig
класс объекта: верхний
olcOverlay: {2}изменить
olcRefintAttribute: владелец менеджера участников memberof
Рейтинг:0
флаг cn

Error 32 means no such object

The dn of my node was base64 encoded because it contained an accent. With another object with a clear DN everything works fine.

$ ldapsearch -W -x -D cn=admin,dc=mydomain,dc=tld -b ou=members,dc=mydomain,dc=tld sn=Doe
dn:: Y249bXn8c2VyLG91PW1lbWJlcnMsZGM9bXlkb21haW4sZGM9dGxk
objectClass: top
objectClass: person
objectClass: inetOrgPerso
sn: Doe
givenName: John
uid: john.doe

It is the behavior defined in the RFC2849 says:

  4)  Any dn or rdn that contains characters other than those
      defined as "SAFE-UTF8-CHAR", or begins with a character other
      than those defined as "SAFE-INIT-UTF8-CHAR", above, MUST be
      base-64 encoded.  Other values MAY be base-64 encoded.  Any
      value that contains characters other than those defined as
      "SAFE-CHAR", or begins with a character other than those
      defined as "SAFE-INIT-CHAR", above, MUST be base-64 encoded.
      Other values MAY be base-64 encoded.

Everything works fine with the encoded version of the dn:

$ ldapadd -W -x -D cn=admin,dc=mydomain,dc=tld << EOF
dn: cn=mygroup,ou=groups,dc=mydomain,dc=tld
objectClass: top
objectClass: groupOfNames
cn: mygroup
member:: Y249bXn8c2VyLG91PW1lbWJlcnMsZGM9bXlkb21haW4sZGM9dGxk
EOF

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.