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

Несколько rootdn на одном сервере ldap

У меня есть сервер OpenLDAP со следующим файлом конфигурации:

suffix          "o=a.b.priv"
rootdn          "cn=Manager,o=a.b.priv"

Я создаю новый проект, в котором будет использоваться следующее:

suffix          "o=c.b.priv"
rootdn          "cn=Manager,o=c.b.priv"

Могут ли эти два сосуществовать на одном экземпляре сервера OpenLDAP?

Я предполагаю, что это невозможно, и мои варианты будут

Есть другой вариант?

Кажется возможным использование нескольких DIT. Взгляните на эту документацию и пример. Что касается осмотрительности при этом, я не могу отвечать вашим требованиям. Полное понимание документации перед тем, как продолжить, действительно кажется разумным. Возможно, специальная группа OpenLDAP поможет вам оценить вашу идею. Но будьте осторожны, они могут быть вспыльчивыми, если вы не сделали уроки.

\\ Грег

Вы можете создать несколько отдельных баз данных с помощью OpenLDAP. Вы найдете подробности в документация.

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

Я тоже новичок в LDAP, но мне это удалось, поэтому я сообщаю о проделанных мною операциях, надеясь, что они могут быть полезны.

Я нашел эту информацию в список рассылки ответ.

Мне нужно было работать как корень пользователь.

Сначала используйте команду

slapcat -n0

чтобы показать конфигурацию LDAP.

Вы должны увидеть что-то вроде этого:

dn: olcDatabase={1}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: <your old root DN>
...

Перейти к /var/lib/ldap и создайте подпапку для вашего нового дерева. Убедитесь, что в этой папке есть 755 разрешение и соответствующий владелец и группа (в моем случае это должно быть openldap openldap).

Создайте файл LDIF следующим образом:

dn: olcDatabase={2}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap/<NEWDIR>
olcSuffix: <new root DN>
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymou
 s auth by dn="cn=Manager,<new root DN>" write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=<new root DN>" write by * read
olcLastMod: TRUE
olcRootDN: cn=Manager,<new root DN>
olcRootPW: <manager password>

Тогда позвони

ldapadd -Y EXTERNAL -H ldapi:/// -f <your-ldif-file>

и вы должны были добавить новый корень.