Страница 1 из 1
помогите настроить почтовый сервер
Добавлено: 2007-01-17 17:26:45
Dmitry
помогите пожалуйста решить проблемку:
имеется небольшая сеть (~150ПК) в которой работает Windows 2003 (контроллер домена) и FreeBSD 6.0 - выполняет функцию файлового сервера (Samba c авторизацией пользователей из Active Directory).
Установил на FreeBSD postfix (используя IMAP) , который бы также авторизировал пользователей из AD (т.е. по LDAP);
К большому сожалению ничего не получается
Подскажите пож-ста как эту задачку можно решить?
Заранее спасибо !
Добавлено: 2007-01-17 22:45:56
Alex Keda
exim умеет ldap...
Добавлено: 2007-01-20 18:36:49
bakake
Делал похожую конфигурацию, но на exim :-) Правда встроенный LDAP у меня почему то отказался нормально работать. Вывернулся процедуркой на встроенном perl. Процедурку могу есессно предоставить. Однако, если там стоит samba с security = ADS, то не понятно зачем вообще LDAP нужен, совершенно замечательно все через pam работает. Я такое тоже делал, но тоже на exim :-)
Добавлено: 2007-01-22 8:53:19
Abigor
Процедурку могу есессно предоставить
интересно взглянуть
Добавлено: 2007-01-22 9:24:16
Гость
bakake писал(а):Делал похожую конфигурацию, но на exim :-) Правда встроенный LDAP у меня почему то отказался нормально работать. Вывернулся процедуркой на встроенном perl. Процедурку могу есессно предоставить. Однако, если там стоит samba с security = ADS, то не понятно зачем вообще LDAP нужен, совершенно замечательно все через pam работает. Я такое тоже делал, но тоже на exim :-)
если не сложно, можно подробности выслать на маил:
dmi3@gsspo.ru
заранее благодарен!
Добавлено: 2007-01-22 15:55:57
bakake
это собсно perl
Код: Выделить всё
#!/usr/bin/perl -w
use strict;
use Net::LDAP;
use Net::LDAP::Message;
my $ldap_server = 'pdc.mydomain.local';
my $ldap_principal = '@mydomain.local';
sub print_error
{
my ($message) = @_;
Exim::log_write('ERROR: ' . $message);
# warn 'ERROR: ' . $message . "\n";
}
sub ldap_auth
{
my ($username, $passwd) = @_;
my $bind_dn = $username . $ldap_principal;
my $ldap;
my $mesg;
$ldap = Net::LDAP->new($ldap_server);
unless ($ldap)
{
print_error("Unable connect to ldap server " . $ldap_server);
return 0;
}
$mesg = $ldap->bind($bind_dn, password => $passwd);
unless ($mesg && $mesg->code == 0)
{
print_error("Invalid username/password");
return 0;
}
return 1;
}
такое и аналогичное в конфиге exim
Код: Выделить всё
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = {perl{ldap_auth}{$1}{$2}}
server_prompts = :
server_set_id = $2
PS
CRAM_MD5 с такой штукой работать не будет

помогите настроить почтовый сервер
Добавлено: 2007-01-22 16:35:12
Dmitry
спасибо!
попробую поразбираться...