Требующиеся модули: Net::LDAPS (пакет ldap_perl). Пример подключения к серверу LDAP (анонимного и с авторизацией), поиска и изменения в базе LDAP. Для работы по протоколам ldap (а не ldaps) используется модуль Net::LDAP.
#!/usr/bin/perl -w
use strict;
use Net::LDAPS;
my $ldap_server='some-domain.ru';
my $base='ou=People,dc=some-domain,dc=ru';
my $user='some-user';
my $pwd='xxxx';
# Anonymous bind for dn search
my $ldap = Net::LDAPS->new($ldap_server) or die "$@";
my $mesg = $ldap->bind ;
die "Error: ",$mesg->error if ($mesg->is_error);
$mesg = $ldap->search ( base => $base,
filter => "(uid=$user)",
attrs => ['uid']
);
$mesg->code && die $mesg->error;
($mesg->count != 1) && die "More than one user with uid $user ?!?!?";
my $dn = $mesg->entry(0)->dn;
print "Find DN $dn\n";
$ldap->unbind;
system "stty -echo";
print "Pwd:"; $pwd=<>; chomp $pwd;
system "stty echo";
print "\n";
# Bind as user
$ldap = Net::LDAPS->new($ldap_server) or die "$@";
$mesg = $ldap->bind($dn,password=>$pwd);
die "Error: ",$mesg->error if ($mesg->is_error);
my $result= $ldap->modify($dn, replace=>{'telephoneNumber'=>['1234']});
$result->code && warn "Failed to modify entry: ", $result->error ;
$ldap->unbind;
Дата создания: 2006-05-24 13:08:04 (Фетисов Н. А. (naf))
Последнее изменение: 2006-05-24 13:08:04 (Фетисов Н. А. (naf))
Владелец: Фетисов Н. А. (naf)
Версия: 1
Wiki::Admin Карта раздела Оглавление Изменения за сутки Изменения за неделю Изменения за месяц