Я установил сервер openldap в Fedora 20 и попробовал использовать его для управления учетными записями bugzilla. Поэтому я сначала настраиваю его для своего домена, а также устанавливаю пароль:
dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}...
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}...
-
replace: olcRootDN
olcRootDN: cn=admin,dc=example,dc=com
-
replace: olcSuffix
olcSuffix: dc=example,dc=com
и запустите:
ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f ./initial.ldif
После этого я пытаюсь добавить тестового пользователя:
# User account
dn: uid=user1,ou=people,dc=example,dc=com
cn: User Name
givenName: Name
sn: User
uid: user1
mail: email@domain
objectClass: top
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
userPassword: {CRYPT}*
и вызовите ldapadd
ldapadd -v -v -f ./useradd.ldif -x -D "cn=admin,dc=example,dc=com" -w pass
Но не получилось, говорят, что не знает inetOrgPerson.
Поэтому я пытаюсь дополнить схему таким классом:
ldapadd -v -f ./inetorgperson.ldif -x -D "cn=admin,dc=example,dc=com" -w pass
но не вышло с сообщением о неправильном логине / пароле,
и сейчас проблемы начинаются:
Я думал, что проблема в том, что cn = config, и я использую cn = admin (это мой первый день с ldap), поэтому я использовал:
dn: olcDatabase = {0} config, cn = config changetype: modify replace: olcRootDN olcRootDN: cn = admin, dc = example, dc = com
и эй ldapadd -v -f ./inetorgperson.ldif -x -D "cn = admin, dc = example, dc = com" -w pass start работает, но useradd не удалось:
ldap_add: нет такого объекта (32)
плюс после перезапуска slapd я получил:
может быть установлен только когда rootdn находится под суффиксом
Так может ли кто-нибудь посоветовать мне, как добавить в свежую запись openldap о пользователе с полями «uid», «mail» и пароли?
Я решил проблему. Есть две проблемы: 1) Как добавить схему? Благодаря OpenLDAP не может добавить новую схему Я решил это, используя "-Y external" для ldapadd
2) начальная конфигурация, есть olcDatabase = {1} monitor, cn = config тоже надо поменять на рабочий slapd.