The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Не могу с FreeBSD получить список пользователей из ActiveDir..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Не могу с FreeBSD получить список пользователей из ActiveDir..." 
Сообщение от sashacrane Искать по авторуВ закладки(ok) on 14-Сен-05, 06:46  (MSK)
Мне бы просто получить списой пользователей всего домена MYDOMAIN.RU :)
0. контроллер домена работает в Native mode. Разрешен ли анонимный доступ к просмотру каталога я незнаю как посмотреть. Да не надо мне это, т.к. см. пункт 1.
1. на контроллере завел учетную запись test с паролем 123
2. на контроллере делаю CSVED -b test mydomain.ru 123 -f output.txt
в результате вижу все чего надо
3. на юниксе поставил Net::LDAP со всеми депендами. Подозреваю что больше ничего и ненадо (керберос, самба, nss_ldap) чтобы решить эту задачу
4. между FreeBSD и контроллером фаервол разрешает обмен пакетами (сеанс с анонимным доступом)
   #> tcpdump
A.B.C.D.2581 > W.X.Y.Z.389: S ...
W.X.Y.Z.389 > A.B.C.D.2581: S ...
A.B.C.D.2581 > W.X.Y.Z.389: . ack 1 ...
A.B.C.D.2581 > W.X.Y.Z.389: P 1:15(14) ack 1 ...
W.X.Y.Z.389 > A.B.C.D.2581: P 1:23(22) ack 15 ...
A.B.C.D.2581 > W.X.Y.Z.389: P 15:77(62) ack 23 ...
W.X.Y.Z.389 > A.B.C.D.2581: P 23:109(86) ack 77 ...
A.B.C.D.2581 > W.X.Y.Z.389: P 77:84(7) ack 109 ...
W.X.Y.Z.389 > A.B.C.D.2581: F 109:109(0) ack 84 ...
A.B.C.D.2581 > W.X.Y.Z.389: . ack 110 win 57920 ...
A.B.C.D.2581 > W.X.Y.Z.389: F 84:84(0) ack 110 ...
W.X.Y.Z.389 > A.B.C.D.2581: . ack 85 ...

7. если подключатся с указанием пароля то выдается сообщение
The wrong password was supplied or the SASL credentials could not be processed
а если без него, то идет сначала пауза, буд-то все работает, а потом
программа молча завершается. Тут уже можно грешить на фильтр, котрый
я не умею правильно задавать...

6. ну и наконец вот код программы.
#!/usr/bin/perl
use Net::LDAP;
use Net::LDAP::Util qw(ldap_error_text);
use strict;

my $ldap = Net::LDAP->new('mydomain.ru') or die "$@";

#my $mesg = $ldap->bind('cn=test,dc=mydomain,dc=ru',password => '123', version => 3);
my $mesg = $ldap->bind();
$mesg->code && die ldap_error_text($mesg->code);

my $mesg = $ldap->search(
             base => "dc=mydomain, dc=ru",
             filter => "objectClass=user"
        );
$mesg->code && die ldap_error_text($mesg->code);

#foreach my $entry ($mesg->all_entries) { $entry->dump; }

my $max = $mesg->count;
for( my $index = 0 ; $index < $max ; $index++){
    my $entry = $mesg->entry($index);
    my $dn = $entry->dn; # Obtain DN of this entry

    my @attrs = $entry->attributes; # Obtain attributes for this entry.
    foreach my $var (@attrs){
        #get a list of values for a given attribute
        my $attr = $entry->get_value( $var, asref => 1 );
        if ( defined($attr) ){
            foreach my $value ( @$attr ){
                print "$var: $value\n";  # Print each value for the attribute.
            }
        }
    }
}

$ldap->unbind;

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Не могу с FreeBSD получить список пользователей из ActiveDir..." 
Сообщение от argo emailИскать по авторуВ закладки on 14-Сен-05, 14:07  (MSK)
Без пароля он естественно не отдаст юзверей, поэтому раскомментируйте и исправьте строку
my $mesg = $ldap->bind('cn=test,cn=Users,dc=mydomain,dc=ru',password => '123', version => 3);
Пользователи в AD находятся в контейнере Users

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру