@mikeemaine

Как дать права на запись пользователю LDAP?

Имеется свежий ubuntu сервер со свежим slapd. База пользователей используется для внешних приложений вроде почты и тд. Как создать пользователя по мимо администратора, у которого будут права на запись и редактирование определенных веток? Или повысить уже существующего пользователя до таких прав. Спасибо
  • Вопрос задан
  • 1186 просмотров
Пригласить эксперта
Ответы на вопрос 2
MindPhaser34
@MindPhaser34
Системный администратор, DevOps
Помню, во времена, когда стоял OpenLDAP вместо AD, понадобилось как-то создать юзера, который мог бы читать весь каталог и выдёргивать список пользователей. Смысл примерно такой:
Смотрим текущие админские права:
ldapsearch -xZZLLLWD cn=admin,dc=example,dc=com -b olcDatabase={1}mdb,cn=config olcAccess

Нам надо сделать примерно такие же.
Создаём LDIF файлик примерно с таким содержимым:
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to dn.sub="dc=example,dc=com"
by self write
by anonymous auth

И загружаем его в LDAP:
ldapmodify -xZZWD cn=admin,dc=example,dc=com -f file.ldif

Тебе необходимо сделать что-то подобное, но для редактирования конкретной ветки с подветками, подробней вот здесь можно почитать:
www.openldap.org/doc/admin24/access-control.html
https://pro-ldap.ru/books/openldap-ubuntu-in-pract...

Если получится, опубликуй содержимое своего ldif, я думаю кому-нибудь понадобится в качестве примера.
Ответ написан
Комментировать
@mikeemaine Автор вопроса
Я решил свой вопрос таким образом :
1) Получить права cn=config(я так понял, типа главный админ)- сменив их
в .ldif (создать файл со следующим содержанием)
dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: вашпароль
после sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f имяфайла.ldif

2) дать права от дальних веток к корневым веткам.
ldapmodify -D cn=config -H ldapi:/// -W -f файл.ldif
пример формат импорта
Анонимы могут авторизоваться и читать. Перечисленные могут писать в свои ветки. Чем ниже пользователь в этом списке тем в более корневые ветки у него доступ
Права-правила к каждой ветки писать от более конкретной к более общей.

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: to dn.subtree="ou=Служба ветеринарии ou=Службы комитеты и прочее,ou=addressbook,dc=blabla,dc=ru"
by dn="cn=vet,ou=Служба ветеринари, ou=Службы комитеты и прочее,ou=addressbook,dc=blablal,dc=ru" manage
by anonymous read
by * read
olcAccess: to dn.subtree="ou=Департаменты,ou=addressbook,dc=blabla,dc=ru"
by dn="cn=editor,ou=Департамент развития ,ou=Департаменты,ou=addressbook,dc=blabla,dc=ru" manage
by anonymous read
by * read
olcAccess: to dn.subtree="ou=addressbook,dc=blabla,dc=ru"
by dn="uid=myuser,ou=addressbook,dc=blabla,dc=ru" manage
by anonymous read
by * read

olcAccess: to *
by self read
by * read
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы