Назад | Перейти на главную страницу

Группы OpenLDAP и Posix / Аккаунт

Я не могу добавлять пользователей / группы posix в этот недавно созданный каталог ldap. Версия OpenLDAP - 2.4.19.

LDIF, который я заполнил в каталоге LDAP, вероятно, является проблемой, но я не уверен, что мне нужно делать дальше ...

dn: dc=company,dc=net,dc=au
objectClass: dcObject
objectClass: organization
o: Company Pty Ltd
dc: company

dn: cn=manager,dc=company,dc=net,dc=au
objectClass: organizationalRole
cn: Manager

dn: ou=People,dc=company,dc=net,dc=au
objectClass: organizationalUnit
objectClass: top
ou: People

dn: ou=Groups,dc=company,dc=net,dc=au
objectClass: organizationalUnit
objectClass: top
ou: Groups

Может ли кто-нибудь меня просветить :)


Обновление: я добавил nis.schema, который, как я ожидал, решит проблему, поскольку в нем есть все классы posix *, которые я искал. Однако теперь я получаю следующую ошибку:

/etc/openldap/schema/nis.schema: line 203 objectclass: AttributeType not found: "manager"
/opt/openldap/etc/openldap/slapd.conf: line 6: <include> handler exited with 1!
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.

Соответствующий раздел nis.schema, ~ строка 203 выглядит следующим образом ...

objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost'
    DESC 'Abstraction of a host, an IP device'
    SUP top AUXILIARY
    MUST ( cn $ ipHostNumber )
    MAY ( l $ description $ manager ) )

Я продолжу читать.

Я не могу вам сильно помочь с phpldap, так как я никогда им не пользовался (предпочитаю ApacheDirectoryStudio или инструменты командной строки openldap), но если вы можете использовать с ним общий файл LDIF, попробуйте этот:

dn: uid=juser,ou=People,dc=company,dc=net,dc=au
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: posixAccount
objectClass: top
cn: Joe User
gidNumber: 100
homeDirectory: /home/juser
uid: juser
uidNumber: 1004
gecos: Joe User
givenName: Joe
loginShell: /bin/bash

... и посмотреть, работает ли?

В любом случае я настоятельно рекомендую использовать ApacheDirectoryStudio в качестве общего браузера LDAP / схем.

Думаю, я понял это - как только я закончу читать, я опубликую основную причину и подробное решение; но пока - короче - я не включил соответствующие файлы схемы.

PosixAccount - это вспомогательный класс, поэтому он полностью необязателен, и его можно «прикрепить» к требуемому структурному классу - будь то person, organizationPerson или interOrgPerson.


Нет, я думал, что близко, все равно не повезло. Чтобы добавить nis.schema, мне пришлось добавить несколько предварительных схем, так что теперь у меня есть ...

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema

Это разрешило, что slapd не запускается, однако я все еще не вижу никаких классов posix * в веб-интерфейсе ldap mgmt.

У вас был правильный ответ; вам нужно добавить схемы, как указано в вашем slapd.conf, и перезапустить:

примечание: порядок важен!

include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/duaconf.schema
include         /etc/openldap/schema/dyngroup.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/java.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/ppolicy.schema
include         /etc/openldap/schema/collective.schema

Затем вы можете добавить пользователя POSIX через файл ldif:

# User primary group
dn: cn=ussergroup,ou=groups,dc=me,dc=com
cn: ussergroup
objectClass: top
objectClass: posixGroup
gidNumber: 10001

# User account
dn: uid=user,ou=users,dc=me,dc=com
cn: user
givenName: user
sn: user
uid: user
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/user
mail: user@me.com
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
loginShell: /bin/bash
userPassword: {CRYPT}*

Вы можете попробовать использовать сценарии миграции для создания базового файла ldif. В моей установке RHEL они находятся в /usr/share/openldap/migration/, конечно, в зависимости от вашего дистрибутива они могут оказаться где-то еще.

migrate_passwd.pl предоставит вам ваших пользователей, и migrate_group.pl вы группы (оба очевидны). При необходимости вы также можете использовать migrate_all_online.sh чтобы засасывать все из вашей текущей системы и выгружать это прямо в текущий работающий LDAP (а затем сокращать или добавлять по мере необходимости).