The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"postfix virtual transport"
Отправлено KomaLex, 27-Фев-10 08:54 
Exchenge мне ставить не нужно. Задача как раз собрать замену. Поэтому никаких расшириных полей у меня нет. Атрибуты я естественно посмотрел первым делом давно уже. Ничего такого подходящего нет там. Тем более что в поле должно быть целиком значение. Весь путь.
А присваивать в ручную 300 юзерам по два поля для пути и домашней директории нет никакого желания.

Вобщем решил я проблему правкой исходников и пересборкой courier-authlib. Сделал так, чтобы maildir тоже собирался как и homedir из двух частей.
Значения LDAP_MAILROOT+LDAP_MAILDIR
в постфиксе и courier для маилдир использую поле контенейра пользователя cononicalName
оно содержит путь в схеме в каноническом виде domen.local\Users\Pupkin
LDAP_MAILROOT вношу /usr/mail
В общем получается то что нужно. Менять в схеме лдап ничего не нужно. Стандартная схема для доменов windows nt. А почта раскладывается для каждого пользователя в отдельную папочку. Удобно очень при обслуживании.

Если у кого то возникнет такая же необходимость и такое решение устроит, то нужно в файле
/usr/ports/net/courier-authlib-ldap/work/courier-authlib-0.*.*/authldaplib.c
в функции auth_ldap_do3 где нибудь перед строчками

    auth.sysuserid= &au;
    auth.sysgroupid= ag;
    auth.homedir=homeDir;
    auth.address=authaddr;
    auth.fullname=cn;
    auth.maildir=mailDir;
    auth.clearpasswd=userPassword;
    auth.passwd=cryptPassword;
    auth.quota=quota;
    auth.options=options && *options ? options:NULL;

добавить


    if (mailDir != 0 && my_ldap.mailroot != 0 && *my_ldap.mailroot)
    {
        char *new_mailroot=malloc(strlen(mailDir)+
                      strlen(my_ldap.mailroot)+2);

        if (!new_mailroot)
        {
            perror("CRIT: authldap: malloc failed");
            rc= -1;
        }
        else
        {
            strcat(strcat(strcpy(new_mailroot, my_ldap.mailroot),
                      "/"), mailDir);
            free(mailDir);
            mailDir=new_mailroot;
        }
    }

потом make, makeinstall
перезапускаем демона
И наступит счастье :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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