Автор Тема: Проблема при изменении ACL пользователя nssproxy  (Прочитано 7214 раз)

2life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Добрый день,
установлен Ubuntu Server 19.04 x64, настраиваю OpenLDAP первый раз, так что сильно не бейтеJ.

Сервер работает без ошибок:
root@fssrv2:/etc/ldap/schema# tail -f /var/log/slapd.log
Aug  8 08:49:34 fssrv2 slapd[23811]: daemon: shutdown requested and initiated.
Aug  8 08:49:34 fssrv2 slapd[23811]: slapd shutdown: waiting for 0 operations/tasks to finish
Aug  8 08:49:34 fssrv2 slapd[23811]: DIGEST-MD5 common mech free
Aug  8 08:49:34 fssrv2 slapd[23811]: DIGEST-MD5 common mech free
Aug  8 08:49:34 fssrv2 slapd[23811]: slapd stopped.
Aug  8 08:49:34 fssrv2 slapd[26823]:    ...done.
Aug  8 08:49:34 fssrv2 slapd[26830]:  * Starting OpenLDAP slapd
Aug  8 08:49:34 fssrv2 slapd[26844]: @(#) $OpenLDAP: slapd  (Ubuntu) (Jul 26 2019 17:21:00) $#012#011Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>
Aug  8 08:49:34 fssrv2 slapd[26846]: slapd starting
Aug  8 08:49:34 fssrv2 slapd[26830]:    ...done.

adm1n@fssrv2:~$ sudo ldapsearch -QLLL -Y EXTERNAL -H ldapi:/// -b 'cn=config' dn
dn: cn=config

dn: cn=module{0},cn=config

dn: cn=schema,cn=config

dn: cn={0}core,cn=schema,cn=config

dn: cn={1}cosine,cn=schema,cn=config

dn: cn={2}nis,cn=schema,cn=config

dn: cn={3}inetorgperson,cn=schema,cn=config

dn: cn={4}autofs,cn=schema,cn=config

dn: olcBackend={0}mdb,cn=config

dn: olcDatabase={-1}frontend,cn=config

dn: olcDatabase={0}config,cn=config

dn: olcDatabase={1}mdb,cn=config


Содержимое файла nssproxy.acl.ldif, впрочем как и в примере на сайте

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to *
  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth" manage
  by * break
-
add: olcAccess
olcAccess: {1}to attrs=userPassword
  by self write
  by anonymous auth
-
add: olcAccess
olcAccess: {2}to *
  by self read
  by dn.base="cn=nssproxy,ou=users,dc=domain,dc=lan" read

Получаю такую ошибку:
root@fssrv2:/etc/ldap/schema# ldapmodify -xWD cn=admin,dc=domain,dc=lan -f nssproxy.acl.ldif
Enter LDAP Password:
modifying entry "olcDatabase={1}mdb,cn=config"
ldap_modify: Insufficient access (50)

Поиск из мануала не отрабатывает:
root@fssrv2:/etc/ldap/schema# ldapsearch -xLLLWD cn=admin,dc=domain,dc=lan "(objectClass=*)"
Enter LDAP Password:
No such object (32)

Права у пользователя admin должны быть, так как весь каталог создавался им же. При установке отказался от пакета sudo-ldap, не очень понимаю зачем он там нужен. Так же сертификаты сделал, но что-то с ними не работает :)
« Последнее редактирование: 08 Август 2019, 13:53:24 от 2life »

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Здравствуйте! Как я понял, Вы хотите разобраться, почему у пользователя cn=admin,dc=domain,dc=lan нет прав на изменение конфигурации сервера OpenLDAP. Дело в том, что есть конфигурационный каталог cn=config и есть пользовательский каталог dc=domain,dc=lan. Они содержат разную информацию и у каждого из них своё разграничение доступа. Пользователь cn=admin,dc=domain,dc=lan, как я понимаю, это Ваша административная учётная запись (в терминологии OpenLDAP -- rootDN) для пользовательского каталога, у неё полные права на выполнение любых действий в каталоге с контекстом именования dc=domain,dc=lan. Но эта запись не имеет никакого отношения (и, соответственно, никаких прав) к конфигурационному каталогу cn=config.

Вы собираетесь внести изменения в настройку сервера OpenLDAP путём модификации записи olcDatabase={1}mdb,cn=config (как видите, эта запись входит в контекст именования cn=config). Соответственно, Вам нужно выполнить это действие либо от имени rootDN каталога cn=config, либо от имени другого пользователя, имеющего права на модификацию каталога cn=config. Надеюсь, не очень путано объяснил.

По умолчанию в Ubuntu с каталогом cn=config можно произвести любые действия, подключившись по протоколу ldapi:/// от имени системной учётной записи root. Вы, кстати, делали это, когда с помощью команды ldapsearch выводили содержимое каталога cn=config. Для ldapmodify ситуация аналогичная:
$ sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f nssproxy.acl.ldif

В данном случае используется подключение к каталогу не от имени записи в каталоге, а аутентификация делегируется стороннему механизму. Это так называемая SASL-аутентификация, конкретно в этом случае с использованием механизма EXTERNAL.

Егор

2life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Спасибо ) Вы решили этот мой вопрос. Пhодолжаю изучать OpenLDAP дальше. Для этого создам новую тему, т.к. кое-где уже застрялJ

 

Эта страница

Содержание

Новости:
Форум проекта Pro-LDAP.ru
OpenLDAP 2.4 Руководство

Содержание

Введение в службы каталогов OpenLDAPБыстрое развёртывание и начало работыОбщая картина - варианты конфигурацииСборка и установка OpenLDAPНастройка slapd

 

Конфигурационный файл slapdЗапуск slapdКонтроль доступаОграниченияИнструментыМеханизмы манипуляции даннымиНаложенияСпецификация схемы

 

БезопасностьSASLTLSРаспределённая служба каталоговРепликацияОбслуживаниеМониторингПроизводительностьУстранение неполадок
Перевод официального руководства OpenLDAP 2.4 Admin Guide
Полное содержание здесь
LDAP для учёных-ракетчиков

Содержание

О книгеКонцепции LDAPОбъекты LDAPУстановка LDAPПримерыНастройкаРепликация и отсылкиLDIF и DSMLПротоколLDAP API

 

HOWTOНеполадкиПроизводительностьИнструменты LDAPБезопасностьЗаметкиРесурсы LDAPRFC и X.500ГлоссарийОбъекты
Перевод "LDAP for Rocket Scientists"
Полное содержание здесь
Ресурсы

Книги

Руководство OpenLDAP 2.4LDAP для учёных-ракетчиков

Другие

СтатьиТермины LDAPman-страницы OpenLDAP 2.4Список RFCКлиенты LDAPФайлы наборов схемы
Полезные ресурсы
Форум

 

Разделы форумаНепрочитанные сообщенияПоследние сообщения
Форум проекта
Главная

Pro-LDAP.ru

О проектеНовости проектаУчастникиСтаньте участником!Сообщите об ошибке!Об авторских правахСоглашения проекта
Присоединяйсь!