Я хочу добавить схему к базе данных OpenLDAP, которую я наследовал.
ldapadd -vY EXTERNAL -H ldapi:/// -f schema.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
...
adding new entry "cn=openssh-lpk,cn=schema,cn=config"
ldap_add: Insufficient access (50)
Обсуждение списка рассылки относительно той же внешней проблемы аутентификации SASL приводит меня полагать, что я должен "отобразить ВНЕШНИЕ идентификационные данные SASL на cn=config
rootdn". Как я выполнил бы это?
При попытке понять это, я создал подобный VM и установил slapd из Ubuntu repos. Внешние запросы SASL как тот выше работают правильно из поля. Я попытался выдержать сравнение cn=config
настройки между этими двумя системами, но отказавший для идентификации любых очевидных подсказок для выполнения этой задачи. Производственная база данных первоначально работала на хинду. Я переместил его в Ubuntu и счастливо редактировал учетные записи и использовал его. Однако я не мог исправить базу данных конфигурации начиная с преобразования в cn=config
формат во время миграции.
Убедитесь, что в базе данных {0}config
(/etc/ldap/slapd имеется один атрибут
), что выглядит следующим образом:olcAccess
. d/cn=config/olcDatabase={0}config.ldif
olcAccess: {0}to *
by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage
by * break
В конфигурационном файле по умолчанию на Ubuntu это единственная запись olcAccess
для конфигурационной базы данных. Если у вас больше записей, убедитесь, что та, которую я упомянул, первая (т.е. {0}
), а остальные следуют ({1}
, {2}
и т.д.). Иначе один из других может совпасть, назначить слишком низкие разрешения и прекратить обход списка.
Если в этом списке есть какой-то другой пользователь/NN с достаточными (write
, manage
) разрешениями, то предпочтительно попробовать изменить olcAccess с помощью LDIF
файла, используя ldapmodify
с этим пользователем/NN. В противном случае вы можете сделать:
sudo service slapd stop
sudo sensible-editor /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{0\}config.ldif
sudo service slapd start
Но после этого следует исправить CRC32
в этом файле.