Я использую OpenLDAP, пробовал на RHEL7 и Ubuntu
# slapd -V
@(#) $OpenLDAP: slapd 2.4.44 (Apr 3 2018 08:03:36) $
mockbuild@x86-034.build.eng.bos.redhat.com:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/servers/slapd
# uname -a
Linux xxx-yyy-ldap2 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
или
ldap# uname -a
Linux xxx-ldap2 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@xxx-ldap2:/etc/ldap#
# slapd -V
@(#) $OpenLDAP: slapd (Ubuntu) (May 22 2018 13:54:12) $
buildd@lcy01-amd64-019:/build/openldap-t_Ta0O/openldap-2.4.42+dfsg/debian/build/servers/slapd
Когда я пытаюсь добавить сопоставление SASL на работающем сервере, следуя документации , мне не удается:
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes-sasl-mapping.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=sasl,cn=config"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #1 invalid per syntax
Где changes-sasl-mapping.ldif
содержит:
#root sasl configuration
dn: cn=sasl,cn=config
objectClass: top
objectClass: nsContainer
cn: sasl
#sasl mapping container
dn: cn=mapping,cn=sasl,cn=config
objectClass: top
objectClass: nsContainer
cn: mapping
#sasl mapping node
dn: cn=testmap,cn=mapping,cn=sasl,cn=config
objectclass: top
objectclass: nsSaslMapping
cn: testmap
nsSaslMapRegexString: \(.*\)@\(.*\)\.\(.*\)
nsSaslMapFilterTemplate: (objectclass=inetOrgPerson)
nsSaslMapBaseDNTemplate: uid=\1,ou=Users,dc=\2,dc=\3
Я предполагаю, что проблема связана с неподдерживаемым / неопределенным атрибутом схемы или объектным классом nsContainer
.
Я искал его в /etc/openldap/schema/.
и в /etc/openldap/slapd.d/cn\=config/cn\=schema/
.В обоих случаях
grep -rn . -e 'nsContainer'
мне ничего не дало.Нет попадания.Я ожидаю, что nsContainer
определено где-то.Поскольку SASL должен поддерживаться ядром OpenLDAP, я не искал плагинов.
В любом случае.Я потерялся и мне нужна помощь.