Требующиеся модули: 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 Карта раздела Оглавление Изменения за сутки Изменения за неделю Изменения за месяц