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

Загрузите LDIF, начинающийся с «cn = Subschema»

Мне нужно создать сервер разработки, чтобы отразить установку LDAP клиента. Заказчик дал мне файл db.ldif, начинающийся с

cn: cn=Subschema
ldapSyntaxes: ( 1.3.6.1.1.16.1 DESC 'UUID' )
ldapSyntaxes: ( 1.3.6.1.1.1.0.1 DESC 'RFC2307 Boot Parameter' )
ldapSyntaxes: ( 1.3.6.1.1.1.0.0 DESC 'RFC2307 NIS Netgroup Triple' )
ldapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.52 DESC 'Telex Number' )
ldapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )
ldapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.49 DESC 'Supported Algorithm' X-BINAR
 Y-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' )
ldapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.45 DESC 'SubtreeSpecification' )
ldapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )
ldapSyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' )
and so on

Но не могу найти, как его загрузить:

ldapadd -Y EXTERNAL -H ldapi:// -f /ldap/db.ldif 
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=Subschema"
ldap_add: Already exists (68)
        additional info: subschema subentry already exists

slapadd -l /ldap/db.ldif 
57aca988 str2entry: attributeType ldapSyntaxes #0: no validator for syntax 1.3.6.1.4.1.1466.115.121.1.54
slapadd: could not parse entry (line=1)
_#################### 100.00% eta   none elapsed            none fast!         
Closing DB..

Моя установка:

slapd -V       
@(#) $OpenLDAP: slapd  (Ubuntu) (Jun 24 2016 15:39:52) $
        buildd@lgw01-24:/build/openldap-MhQj18/openldap-2.4.31/debian/build/servers/slapd

Я пытаюсь заменить EOL на linux и другие файловые структуры. Как я могу работать?

Похоже, что файл LDIF (по крайней мере частично) содержит дамп корневого DSE с сервера LDAP, полученный с использованием базы "cn=Subschema" с чем-то вроде:

ldapsearch -Y EXTERNAL -H ldapi:/// -s base -b 'cn=Subschema' +

Итак, чтобы ответить на ваш вопрос, вы не можете ldapadd это потому что cn=Subschema уже существует, как указано в ошибке. Это один из этих специальных объектов, поддерживаемых самим сервером; вы, вероятно, не хотите или не нуждаетесь в свалке этого.

Вы действительно хотите сбросить некоторые / все cn=config база данных; по крайней мере, используемые схемы, а затем дамп самой основной базы данных. Имея более полный дамп cn=config база данных не может повредить, поскольку в ней будут такие вещи, как определения ACL, наложения и т. д., которые могут быть важны.