OpenLDAP выдает двойную ошибку attributeType
Я настраиваю узел входа в систему и использую openLDAP из репозитория в Ubuntu 14.04, и у меня возникла проблема с дублирующимися attributeTypes.
Проблема, похоже, заключается в атрибуте поля 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!
И когда я grep для 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.
У кого-нибудь есть понимание этой проблемы? Что я могу сделать, чтобы это исправить?
1 ответ
Похоже, проблема в том, что вы использовали 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, чтобы увидеть, что они одинаковые (или как они отличаются), объедините их, если необходимо, и попробуйте импортировать (только что) только с одним из них.