Автор Тема: Работа с консольными ldap-клиентом  (Прочитано 14164 раз)

мережевий хробачок™

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
    • RTFM — администрирование, настройка серверов FreeBSD, Linux
Работа с консольными ldap-клиентом
« : 06 Январь 2014, 12:53:26 »
Привет. Парочка простых вопросов.

1) Как можно из консольного клиента (ldapsearch или из shelldap?) получить список активных схем сервера?
2) То же, но посмотреть доступные objectClass-ы и атрибуты;
3) То же, но получить само DIT. Т.е. - например, в файловой системе можн ополучить дерево каталогов/файлов с помощью tree:

$ tree
.
├── Catalina
│   └── localhost
│       ├── host-manager.xml
│       └── manager.xml
├── catalina.policy
├── catalina.properties

Можно получить примерно ту же картину дерева LDAP? В phpLdapAdmin-е оно всё выглядит красиво, спору нет - но хочется иметь возможно пользоваться консольными утилитами.

Спасибо.

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Работа с консольными ldap-клиентом
« Ответ #1 : 08 Январь 2014, 15:24:56 »
Здравствуйте!

1) Как можно из консольного клиента (ldapsearch или из shelldap?) получить список активных схем сервера?
Если у Вас есть доступ к DIT cn=config, то список подключённых наборов схемы данных можно вывести так:
# ldapsearch -LLL -D 'cn=config' -w somePassHere -b 'cn=schema,cn=config' -s one 1.1
dn: cn={0}core,cn=schema,cn=config

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

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

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

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

2) То же, но посмотреть доступные objectClass-ы и атрибуты;
Тут проще, достаточно анонимного доступа к виртуальной записи SubSchema:
# ldapsearch -LLL -x -b 'cn=subschema' -s base -o ldif-wrap=no attributeTypes objectClasses
...

3) То же, но получить само DIT. Т.е. - например, в файловой системе можн ополучить дерево каталогов/файлов с помощью tree:
Такого не встречал =) . Думаю и смысла особого нет, поскольку для больших DIT информации будет море и Вы столкнётесь с ограничениями по размеру. Проще последовательно выводить DIT по одному уровню и смотреть:
#  ldapsearch -LLL -x -H 'ldap://127.0.0.1:9000' -b 'dc=mycompany,dc=ru' hasSubordinates
dn: dc=mycompany,dc=ru
hasSubordinates: TRUE
...
Думаю, примерно так поступают большинство графических LDAP-клиентов. Ну а если уж сильно хочется прямо как в tree, найдите исходные коды tree и переделайте под свои нужды =) .

Егор