openldap allop накладывают конфигурацию

Я испытываю затруднения, заставляя наложение allop работать. Я подозреваю, что пропускаю некоторый жизненный параметр конфигурации или что я сделал что-то неправильно. Любая справка значительно ценится.

Я должен использовать allop для получения устройства Cisco, работающего с ldap использование атрибута memberOf. Я уже получил наложение memberOf, работающее правильно, и атрибут memberOf возвращается, когда я запрашиваю с '+'.

Я установил openldap 2.4.28 на моем сервере LTS Ubuntu 12.04.5, использующем склонный - получают установку. Я скомпилировал наложение allop из источника и скопировал allop.so библиотеку в/var/lib/ldap/каталог.

Эта версия openldap использует метод конфигурации olc.

Я добавил модуль с помощью следующего ldif:

## module.ldif
dn: cn=module,cn=config
cn: module
objectclass: olcModuleList
objectclass: top
olcmoduleload: allop.so
olcmodulepath: /usr/lib/ldap
# sudo ldapadd -Y EXTERNAL -H ldapi:/// -f module.ldif -v

Я добавил конфигурацию наложения с помощью следующего ldif:

## allop.ldif
dn: olcOverlay={2}allop,olcDatabase={1}hdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: {2}allop
# sudo ldapadd -Y EXTERNAL -H ldapi:/// -f allop.ldif -v

Я затем перезапустил slapd и протестировал, но операционные атрибуты все еще не возвращаются.

Вот часть вывода от выполнения slapd с Трассировкой отладки:

54198057 ldif_read_file: read entry file: "/etc/ldap/slapd.d/cn=config/cn=module{3}.ldif"
54198057 => str2entry: "# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 18d7a995
dn: cn=module{3}
objectClass: olcModuleList
objectClass: top
cn: module{3}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}allop.so
structuralObjectClass: olcModuleList
entryUUID: 1e7b5ebe-d252-1033-97f7-618a755f5e4b
creatorsName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
createTimestamp: 20140917010302Z
entryCSN: 20140917010302.779622Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20140917010302Z
"
54198057 >>> dnPrettyNormal: <cn=module{3}>
54198057 <<< dnPrettyNormal: <cn=module{3}>, <cn=module{3}>
54198057 >>> dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 <<< dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 >>> dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 <<< dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 <= str2entry(cn=module{3}) -> 0x7f04f45450c8

...

54198057 ldif_read_file: read entry file: "/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb/olcOverlay={2}allop.ldif"
54198057 => str2entry: "# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 1b6fab9c
dn: olcOverlay={2}allop
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: {2}allop
structuralObjectClass: olcOverlayConfig
entryUUID: 5c207c24-d25a-1033-8da6-db55e5b2e477
creatorsName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
createTimestamp: 20140917020202Z
entryCSN: 20140917020202.176575Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20140917020202Z
"
54198057 >>> dnPrettyNormal: <olcOverlay={2}allop>
54198057 <<< dnPrettyNormal: <olcOverlay={2}allop>, <olcOverlay={2}allop>
54198057 >>> dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 <<< dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 >>> dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 <<< dnNormalize: <gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth>
54198057 <= str2entry(olcOverlay={2}allop) -> 0x7f04f45450c8

Нет ничего интересного в выводе отладки, когда я выполняю запрос, конечно, никакие сообщения об ошибках или что-либо связанное с allop.

3
задан 17 September 2014 в 16:19
2 ответа

Вы не упоминаете об этом в своей конфигурации, но настроена ли опция 'allop-URI'? Если оставить пустым, то вернется только операционный атрибут для ldap:///?base - то есть база "" и область действия "base". Вам нужно будет указать образец, для которого он должен возвращать операционные атрибуты, такие как ldap:///?sub

Обратите внимание, что allop-URI не делает конкретных операционных атрибутов - это все или ничего для области применения и базы.

1
ответ дан 3 December 2019 в 07:28

Am rezolvat această problemă trecând de la OLC la configurația slapd.conf. Se pare că nu există suport OLC pentru allop.

0
ответ дан 3 December 2019 в 07:28

Теги

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