Perl для системного администрирования



         

LDAP: сложная служба каталогов - часть 13


При чтении LDIF-данных из Perl осуществляется процесс, обратный тому, который применялся в предыдущих примерах для записи. Каждый список элементов считывается и преобразуется в экземпляр объекта элемента, который затем передается соответствующему методу изменения каталога. Оба модуля считывают и анализируют данные, так что процесс довольно прост. Например, с использованием Mozilla I DAP можно написать такую программу:

use Mozilla::LDAP::Conn; use Mozilla::LDAP::LDIF;

Sserver = $ARGV[0];

SLDIFfile = $ARGV[1]

Sport = getservbynameC'ldap"."tcp") II "389"

Srootdn = "cn=Manager, ou=Systems, dc=ccs, dc-hogwarts, dc=edu"; $pw = "secret";

считываем файл LDIF, указанный втооым азгумо--о« в

и командной строке

open(LDIF,"SLDIFflie") or die "Невозможно отквыгь $LDIF*iie:$!\n";

Sldif = rew Mozilla::LOAP::LDIF(\*LDIF):

анализируем все элеменгь сохраняем их з 3ertri.es

Gentries = $ldif->readEnrnes():

close(LOIF):

tt неанонимное соединение

$c = new Mozilla::LDAP::Conn($server,$port.Srootdn,$pw);

die "Невозможно соединиться с $server\n" unless $c:

№ обходим в цикле список элементов, добавляя их на каждой итерации for (gentries)!

$c->add($_); ft добавляем этот элемент в каталог

warn "Ошибка при добавлении ". $_->getDN(),": ".$c->getErrorString()."\n"

if $c->getErrorCode(); } $c->close():

В этом примере отражено применение методов getErrorCodeO и getErrorString() для получения любых ошибок (и сообщения о них), происходящих в процессе загрузки данных. Ошибки могут появиться по целому ряду причин, включая дублирование DN/RDN-имен, нарушение схемы, проблемы с иерархией и т. д., так что очень важно проверить их при изменении элемента.

И еще одно замечание, перед тем как перейти к рассмотрению Net:: LDAP: в этом и последующих примерах в демонстрационных целях используется корневое DN-имя (manager DN). Обычно же, если можно избежать применения такого контекста в повседневной работе, это следует делать. Образец правильной настройки LDAP-сервера включает создание могущественной учетной записи или группы учетных записей (которые не являются корневым DN-именем) для управления каталогами. При создании собственных приложений не забывайте этот совет.




Содержание  Назад  Вперед