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

OpenLDAP выдает повторяющуюся ошибку attributeType

Я настраиваю узел входа и использую openLDAP из репозитория в Ubuntu 14.04, и я столкнулся с проблемой повторяющихся типов атрибутов.

Проблема, кажется, кроется в атрибуте поля "gecos". когда я пытаюсь запустить slapcat, slapadd или slapindex, я получаю следующий результат:

$ slapcat
53ecd288 olcAttributeTypes: value #0 olcAttributeTypes: Duplicate attributeType: "1.3.6.1.1.1.1.2"
53ecd288 config error processing cn={3}nis,cn=schema,cn=config: olcAttributeTypes: Duplicate attributeType: "1.3.6.1.1.1.1.2"
slapcat: bad configuration file!

И когда я ищу 1.3.6.1.1.1.1.2, я получаю

$ cd /etc/ldap/ && grep -r '1.3.6.1.1.1.1.2' *
schema/nis.schema:attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos'
schema/nis.ldif:olcAttributeTypes: ( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; th
slapd.d/cn=config/cn=schema/cn={3}nis.ldif:olcAttributeTypes: {0}( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; th
slapd.d/cn=config/cn=schema/cn={2}nis.ldif:olcAttributeTypes: {0}( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; th

Излишне говорить, что slapd не запускается.

Я не знаю, как мне решать эту проблему. При поиске этой проблемы я увидел, что у людей возникала аналогичная проблема при попытке использовать файлы core.schema с другого, более старого сервера. Я не использовал файлы с другого сервера и не редактировал core.schema или любые другие файлы ядра, за исключением ldap.conf и slapd.conf.

У кого-нибудь есть понимание этой проблемы? Что я могу сделать, чтобы это исправить?

Похоже, проблема в том, что вы использовали OID 1.3.6.1.1.1.1.2 для определения двух «разных» атрибутов (на самом деле один и тот же атрибут дважды), один раз в cn=config,cn=schema,cn={3}nis, и один раз в cn=config,cn=schema,cn={2}nis. OID, ссылающиеся на атрибуты, должны быть уникальными.

Я не знаю, на каком этапе вы находитесь в процессе миграции, здесь, но похоже, что вы каким-то образом дважды импортировали одну и ту же схему. Если вы только что выполнили какую-то миграцию, вы можете попробовать еще раз, позаботившись о том, чтобы перенести схему только один раз.

Если вы только что преобразовали кучу файлов схемы в LDIF для импорта в cn=config,cn=schemaпроверьте это в cn=config/cn=schema папка, в которой нет нескольких записей для NIS (или любого другого компонента схемы). Я думаю у тебя есть файлы cn={2}nis.ldif и cn={3}nis.ldif; используйте команду diff, чтобы убедиться, что они одинаковы (или чем они отличаются), при необходимости объедините их и попробуйте импортировать (только что) с присутствием только одного из них.