Я настраиваю узел входа и использую 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, чтобы убедиться, что они одинаковы (или чем они отличаются), при необходимости объедините их и попробуйте импортировать (только что) с присутствием только одного из них.