Автор Тема: Отображение по группам  (Прочитано 18768 раз)

Вереск

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Отображение по группам
« : 12 Март 2012, 23:16:09 »
Как было подмечено, ориентироваться в plane-списке LDAP-клиента становится нереально при сотне пользователей. Уж не говорю о паре тысяч. Единственный выход, который встречается - это использование GOsa. Она умеет разбивать пользователей на группы и отображать их именно таким методом. Но GOsa авторитарна, если уж поселилась, то всё, кроме неё ничего тебя не спасёт: и LDAP загадит, и атрибутов своих напихает, короче, за интеграцию надо платить.

Собственно, во всех браузерах LDAP именно это и сводит с ума меня до сих пор: логически связанные между собой "группы пользователей" и сами "пользователи" оказываются на разных ветках LDAP и являются всего лишь списками. Вопрос в том, как же тут быть, можно ли как-то их группировать по основной группе?

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 464
    • Просмотр профиля
Re: Отображение по группам
« Ответ #1 : 13 Март 2012, 09:59:21 »
Привет! Рад тебя видеть!
Обижаться на браузеры не стоит -- они отображают лишь ту структуру, которая есть у тебя в каталоге, на то они и универсальные браузеры. Структуру выбираешь ты сам во время проектирвания. Если задача твоего каталога просто предоставить справочную информацию (адресная книга, к примеру) -- можешь создать группы в виде отдельных веток в rootDSE (например, ou=IT,dc=mycompany,dc=ru и ou=Sales,dc=mycompany,dc=ru) и распределить пользователей (сотрудников) по этим веткам-группам. Если же твой каталог хранит учётки приложений/библиотек -- придётся приноравливаться к требованиям этих приложений/библиотек, либо править их исходники и пересобирать. Так, любимая тобой samba уверена, что учётки пользователей и группы должны лежать в двух разных ветках, имеющих один корень (например, ou=People,dc=mycompany,dc=ru и ou=Groups,dc=mycompany,dc=ru). К слову, большинство Unix-приложений/библиотек, поднимающих учётки из LDAP, а также групповые ACL OpenLDAP, придерживаются такой же структуры. Кое-что по структурированию каталога можно почитать тут: http://pro-ldap.ru/tr/zytrax/apa/structure.html.

Если каталог у тебя "стандартный", а тебе нужно представление, отличное от стандартного -- напиши свой клиент, который будет отображать каталог в том виде, какой ты хочешь, благо средств для этого полно -- на том же php или perl. Можно и просто из командной строки посмотреть членов интересующей тебя группы:
# ldapsearch -LLL -x -b 'ou=Groups,dc=mycompany,dc=ru' '(cn=GroupINeed)' memberUidили
# ldapsearch -LLL -x -b 'ou=Groups,dc=mycompany,dc=ru' '(cn=GroupINeed)' memberв зависимости от того, какой атрибут у тебя отвечает за членство в группе.
Желаю удачи! Егор

Вереск

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: Отображение по группам
« Ответ #2 : 13 Март 2012, 10:23:09 »
Ясненько, ничего хорошего от стандартных средств просмотра ждать не приходится. Впрочем, я заглянул в LAM, там кой-как по группам можно смотреть. Вероятно, именно такой костыль просмотра и используется. И Самбу, кстати, я уже потихоньку ненавижу ;-)
А вот если мне когда-то будет совсем нечего делать, то я изучу Perl и на нём напишу всё, чего мне не хватает в Linux :-)

ЗЫ. Тоже раз тебя видеть. Ежели что - заходи и на мой пустой форум ;-)

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 464
    • Просмотр профиля
Re: Отображение по группам
« Ответ #3 : 22 Март 2012, 14:33:22 »
Я тут написал утилитку на php, которая делает то, что ты хочешь (надеюсь =) ). Возьми архив тут: http://pro-ldap.ru/dl/ldap_group_viewer.tbz2, распакуй его на своём http-сервере с поддержкой php, поменяй настройки подключения к серверу LDAP на свои в самом файле index.php, и можешь подключаться из браузера. Постараюсь на днях написать об этом опусе статью -- как никак это мой первый опыт работы с LDAP через php-API.

Егор

Вереск

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: Отображение по группам
« Ответ #4 : 24 Март 2012, 19:42:20 »
Спасиба! Попробою, как доберусь до работы.