Здравствуйте!
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 и переделайте под свои нужды =) .
Егор