Вопрос: Не могу добавить пользователя в openldap.
В общем-то, ldap пока нужен суперпростой - только пользователи и пароли. Даже группу можно одну. И никаких пока что апачей и самб.
У пользователей RHEL5.7.
Я для сервера взял CentOS 6.5. Поставил openldap-2.4.23-32.el6_4.1.
Хоть я и понял, что есть динамическая и статическая конфигурация, но не понял как сказать ldapу каким способом работать.
Поэтому пошёл сразу двумя путями, как братья Ульяновы:
Александр: настроил в /etc/openldap/ файлы slapd.conf и ldap.conf.
Владимир: подредактировал ldifы - {0}config, {1}monitor, {2}bdb и создал свой base.ldif:
_______________________________________
dn: dc=o64ldap,dc=geoad,dc=ru
objectClass: dcObject
objectClass: organization
dc: o64ldap
dn: ou=People,dc=o64ldap,dc=geoad,dc=ru
objectClass: top
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=o64ldap,dc=geoad,dc=ru
objectClass: top
objectClass: organizationalUnit
ou: Groups
_______________________________________
#ldapadd -x -W -D "cn=dbroot,dc=o64ldap,dc=geoad.dc=ru" -f base.ldif
Был ответ, что всё хорошо, а вот дословно его слов не помню.
Проверяем:
# ldapsearch -x -D "cn=dbroot,dc=o64ldap,dc=geoad,dc=ru" -W
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=geoad,dc=ru> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1
Честно скажу, своим дилетантским взглядом не вижу ошибок. Вижу, что не найдены какие-то объекты, но не понимаю критично это или нет?
Каждую ошибку, которая возникает, ищу через яндекс и гугл, но это не всегда помогает, поэтому и пришёл сюда.
Теперь создаю пользователя:
_______________________________________
dn: cn=oneuser,cn=People,dc=o64ldap,dc=geoad,dc=ru
objectClass: People
objectClass: shadowAccount
sn: oneuser
uid: oneuser
userPassword:{SSHA}ektfCMZ0Ygl0qYWcfHHcPMz4GpZ8YeiC
homeDirectory: /home/oneuser
loginShell: /bin/csh
uidNumber: 5072
gidNumber: 100
_______________________________________
#ldapadd -x -W -D "cn=dbroot,dc=o64ldap,dc=geoad,dc=ru" -f oneuser.ldif
Enter LDAP Password:
adding new entry "cn=oneuser,cn=People,dc=o64ldap,dc=geoad,dc=ru"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #0 invalid per syntax
Понимаю, что ругается на objectClass: People, но ничего поделать не могу, потому что если убираю его, то:
#ldapadd -x -W -D "cn=dbroot,dc=o64ldap,dc=geoad,dc=ru" -f oneuser.ldif
Enter LDAP Password:
adding new entry "cn=oneuser,dc=o64ldap,dc=geoad,dc=ru"
ldap_add: Object class violation (65)
additional info: no structural object class provided
Писал вместо People - organizationalUnit, писал top.
Вместо objectClass писал ou.
Всё равно какие-нибудь ошибки.
Может я пошёл не тем путём?
Третий день лопачу интернеты, но продвигаюсь к цели очень медленно, хотя нормальные люди делают это за 10 минут.