The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"postfix virtual transport"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 09-Фев-10, 13:18 
Что есть:
FreeBSD 8.0, samba, kerberos5,postfix.
Все это городится для почтового сервака. Что бы почта была привязана к домменым аккаунтам. Домен на Win2003. Вобщем тут проблем нет. Все настроенно все доменные аккаунты бсд видит и почту на них принимать согласен.
Мне надо принимать почту в формате maildir без всяких там sql транспортов. настраиваю вот так:

virtual_mailbox_domains = mymildomain.ru
virtual_mailbox_maps = hash:/usr/local/etc/postfix/vmailbox.cf
virtual_uid_maps = static:125
virtual_gid_maps = static:126
virtual_mailbox_base = /usr/mail/

эта часть тоже работает, если в файле vmailbox.cf прописывать
vmailbox.cf:

user1@mymaildomain.ru   mymaildomain.ru/user1/

Тогда все проавильно. Все расклыдывается по папочкам. /usr/mail/mymaildomain.ru/user1

но тогда принимается почта только для тех кто явно там прописан. Если я добавляю запись типа

@mymaildomain.ru mymaildomain.ru/

То во первых он не раскладывает все по папочкам с именем юзера а всех в одну кучу и
Во вторых он перестает проверять пользователей на присутствие в системе. То есть принимает всю почту.

Как настроить так, что бы принимал только доменных пользователей и раскладывал их по папкам. Каждому свою. Помогите плиз...

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

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 09-Фев-10, 15:16 
>[оверквотинг удален]
>
>@mymaildomain.ru mymaildomain.ru/
>
>То во первых он не раскладывает все по папочкам с именем юзера
>а всех в одну кучу и
>Во вторых он перестает проверять пользователей на присутствие в системе. То есть
>принимает всю почту.
>
>Как настроить так, что бы принимал только доменных пользователей и раскладывал их
>по папкам. Каждому свою. Помогите плиз...

виртуал он на то и виртуальный транспорт, что он отвязан от системных пользователей в пользу описанных в некотором хранилище.

Думаю, Вам стоит использовать локальный транспорт вместо виртуального.


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

2. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 10-Фев-10, 04:25 
>виртуал он на то и виртуальный транспорт, что он отвязан от системных
>пользователей в пользу описанных в некотором хранилище.
>
>Думаю, Вам стоит использовать локальный транспорт вместо виртуального.

Иак дело в том, что не получается использовать maildir стиль с встроенным транспортом. Он по умолчанию использует mailbox всю почту по пользователю сваливает в один файл. А мне так не надо. Мне надо в стиле maildir. Подскажите тогда как можно решить эту проблему? очень нужно.
Может там можно какие то переменные указывать в этих файлах? ну что бы не статически. ну там например что то типа:

$user@mymaildomain.ru mymaildomain.ru/$user

где $user это переменная. и что бы он как то еще проверял принадлежность к системным...
Или подскажите как организовать не через виртуальный транспорт...Если без вертуального пишу home_mailbox = Maildir/ то он вообще перестает почту принимать.

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

3. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 10-Фев-10, 07:50 
Начал копать в сторонц ldap но как то мало информации. Нужно что бы он читал данные с лдап доменконтроллера. Чет пока не получается. Подскажите если кто сталкиался.

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

4. "postfix virtual transport"  +/
Сообщение от ALex_hha (ok) on 10-Фев-10, 16:11 
>Начал копать в сторонц ldap но как то мало информации. Нужно что
>бы он читал данные с лдап доменконтроллера. Чет пока не получается.
>Подскажите если кто сталкиался.

Что настроил? Что именно не получается?

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

5. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 10-Фев-10, 18:34 
>>Начал копать в сторонц ldap но как то мало информации. Нужно что
>>бы он читал данные с лдап доменконтроллера. Чет пока не получается.
>>Подскажите если кто сталкиался.
>
>Что настроил? Что именно не получается?

Да вот хотлеось бы все же не счерез лдап как то настроить. Возможно же наверника. Просчто системе же все эти аккаунты известны. По сути задача лишь в том, чтобы в формате маилдир для них почту расскладывать. Длеать запросы и проверки в лдап как то мне кажется излишне.


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

6. "postfix virtual transport"  +/
Сообщение от ALex_hha (ok) on 10-Фев-10, 19:21 
>>Что настроил? Что именно не получается?
>
>Да вот хотлеось бы все же не счерез лдап как то настроить.
>Возможно же наверника. Просчто системе же все эти аккаунты известны. По
>сути задача лишь в том, чтобы в формате маилдир для них
>почту расскладывать. Длеать запросы и проверки в лдап как то мне
>кажется излишне.

Ну как сказать, если уже есть готовая база (LDAP), то излишне использовать текстовый файл с именами пользователей, имхо. А так, добавил пользователя в АД и все. А так придется в двух местах.

Пользователей много?

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

7. "postfix virtual transport"  +/
Сообщение от KomaLex (??) on 11-Фев-10, 04:34 
>
>Ну как сказать, если уже есть готовая база (LDAP), то излишне использовать
>текстовый файл с именами пользователей, имхо. А так, добавил пользователя в
>АД и все. А так придется в двух местах.
>
>Пользователей много?

Пользователей много. Больше 300.
Да я и не хочу никаких текстовых файлов отдельных. В том то и дело, что я для этого самбу поднял и завел в домен бсд сервак. Он у меня всех доменных пользователей знает. Ну как системные они. Поэтому почту на них он и так принимет. Мне нужно только настроить что бы он в формате maildir раскладывал для каждого пользователя отдельно в свою папочку. По имени пользователя названую.
Чем можно лдап структуру домена посмотеть? Ну что бы фильтры настраивать, нужно же нать там все эти cn, dn... Хотя может скажите. Мне нужно в каком объекте хранится имя пользователя и его поле маил.

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

8. "postfix virtual transport"  +/
Сообщение от KomaLex (??) on 11-Фев-10, 07:53 
Вобщем привидите пример если у кого работает.
ну там полный только.
что то вроде
main.cf:
virtual_mailbox_domain = mymaildomain.ru
virtual_recipients_maps = ladap:/usr/local/etc/postfix/recip.cf
virtual_mailbox_maps = ldap:/usr/local/etc/postfix/mbox.cf

recip.cf:
server_host = pdc.myfirm.local                    #локальный пдц домена win2003
bind = yes
bind_dn = cn=komal, ou=users, dc=myfirm, dc=local #пользователь в этом домене
server_port 389
search_base = ou=users, dc=myfirm, dc=local       #тут мне нужно что бы принимал
                                                  #почту для всех пользователей
                                                  #заведеных в домене
mbox.cf:
server_host = pdc.myfirm.local                    #локальный пдц домена win2003
bind = yes
bind_dn = cn=komal, ou=users, dc=myfirm, dc=local #пользователь в этом домене
server_port 389
search_base = ou=users, dc=myfirm, dc=local       #тут мне нужно что бы принимал
                                                  #почту для всех пользователей
                                                  #заведеных в домене
query_filter = user=%s
result_attribute = mailbox                        #Тут по идее хотелось бы, что бы брал
                                                  #из поля E-mail которое есть в #свойствах пользователей домена ну или как вариант просто имя пользователя

У меня вот так не работает. Если через телнет делаешь
rcpt to:user1@mymaildomain.ru
пишет Temporary lookup failur
Вобщем видимо фильтры неправильно настроены. Может имена контейнеров не те. Я не знаю как они там называются в АД. Чем посмотреть можно?

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

15. "postfix virtual transport"  +/
Сообщение от PJ (ok) on 13-Фев-10, 00:09 
>[оверквотинг удален]
>>Ну как сказать, если уже есть готовая база (LDAP), то излишне использовать
>>текстовый файл с именами пользователей, имхо. А так, добавил пользователя в
>>АД и все. А так придется в двух местах.
>>
>>Пользователей много?
>
>Пользователей много. Больше 300.
>Да я и не хочу никаких текстовых файлов отдельных. В том то
>и дело, что я для этого самбу поднял и завел в
>домен бсд сервак.

В том-то и дело, что если LDAP поляжет - то почта приниматься не будет. База из файла - оно понадежнее будет. Лучше выбирать из LDAP данные и на их основе файл сформировать.

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

22. "postfix virtual transport"  +/
Сообщение от artemrts (ok) on 25-Фев-10, 16:19 
>[оверквотинг удален]
>>>Пользователей много?
>>
>>Пользователей много. Больше 300.
>>Да я и не хочу никаких текстовых файлов отдельных. В том то
>>и дело, что я для этого самбу поднял и завел в
>>домен бсд сервак.
>
>В том-то и дело, что если LDAP поляжет - то почта приниматься
>не будет. База из файла - оно понадежнее будет. Лучше выбирать
>из LDAP данные и на их основе файл сформировать.

Это точно.
Вот скрипт, если кому надо.

  #!/bin/sh

/usr/local/bin/ldapsearch -H ldap://My_primari_DC:389,ldap://my_secondary_DC:389 -P 3 -D 'cn=ldapquery,ou=CIT,dc=mydomain,dc=ua' -w 'bigsecret' -b 'dc=cit,dc=mydomain,dc=ua' '(&(proxyAddresses=smtp:*)(|(objectClass=user)(objectClass=group)(objectClass=contact)))' proxyAddresses | perl -ne 'print if /proxyAddresses/' | perl -aF: -lne 'print "$F[2] OK"' | grep @ > /usr/local/etc/postfix/ldapquery.tmp
if [ $? = 0 ]
then cat /usr/local/etc/postfix/ldapquery.tmp > /usr/local/etc/postfix/ldapquery && /usr/local/sbin/postmap cdb:/usr/local/etc/postfix/ldapquery


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

23. "postfix virtual transport"  +/
Сообщение от Warhead Wardick on 25-Фев-10, 21:40 
>В том-то и дело, что если LDAP поляжет - то почта приниматься не будет.

А LDAP-ы как правило в одиночку не ходят. А уж если оно (как у топик-стартера) - AD, то вообще - официально не рекомендовано :)

>База из файла - оно понадежнее будет. Лучше выбирать из LDAP данные и на их основе файл сформировать.

Если ваш почтарь не умеет кэшировать LDAP-запросы - то безусловно да. Иначе - смысл???

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

9. "postfix virtual transport"  +/
Сообщение от rr on 11-Фев-10, 09:23 
>Все настроенно все доменные аккаунты бсд видит и почту на них принимать согласен.

Интересно узнать как делалось

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

10. "postfix virtual transport"  +/
Сообщение от KomaLex (??) on 11-Фев-10, 11:46 
>
>Интересно узнать как делалось

через самба, керберос, пам. Если это вот победю :), могу описать процесс. Типа статьи.


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

11. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 11-Фев-10, 21:14 
чем посмотреть то можно все контейнеры домена?


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

12. "postfix virtual transport"  +/
Сообщение от KomaLex (??) on 12-Фев-10, 07:35 
Есть все таки в мире справедливость :). Победа на нашей стороне. Главно не здаваться. Все заработало как нужно. Тема закрыта.
дело в строчке
bind_dn. нужно писать юзера в формате user@doman.local,а не в формате cn=user,dc=domain,dc=local
Кстати структуру лучше смотреть свою у меня еще другие названия объектов были.
смотреть можно через adsiedit в составе саппортс тул который идет. Всем спасибо за участие.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "postfix virtual transport"  +/
Сообщение от rr on 12-Фев-10, 09:13 
где статья?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 12-Фев-10, 09:49 
>где статья?

Скоро напишу. Пока времени нет. Надо доделать этот сервак. Запустить все, как заработает напишу.

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

16. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 25-Фев-10, 10:01 
Возникла еще одна проблема уже при настройке сервера Courier-imap подскажите плиз.
от какого имени запускается courier-imap-pop3 и где он берет почту.
в конфиге pop3d пишу
MAILDIRPATH=/usr/mail/mymaildomain.ru/
Аутентификация проходит нормально, а потом chdir выдает ошибку доступ запрещен


Feb 25 14:44:19 msvr pop3d: Connection, ip=[192.168.1.31]
Feb 25 14:44:30 msvr authdaemond: received auth request, service=pop3, authtype=login
Feb 25 14:44:30 msvr authdaemond: authpam: trying this module
Feb 25 14:44:30 msvr authdaemond: authpam: sysusername=komal, sysuserid=<null>, sysgroupid=10000, homedir=/home/PROC/komal, address=komal, fullname=Komarov, maildir=<null>, quota=<null>, options=<null>
Feb 25 14:44:30 msvr authdaemond: authpam: clearpasswd=<null>, passwd=*
Feb 25 14:44:30 msvr authdaemond: pam_service=pop3, pam_username=komal
Feb 25 14:44:31 msvr authdaemond: dopam successful
Feb 25 14:44:31 msvr authdaemond: Authenticated: sysusername=komal, sysuserid=<null>, sysgroupid=10000, homedir=/home/PROC/komal, address=komal, fullname=Komarov, maildir=<null>, quota=<null>, options=<null>
Feb 25 14:44:31 msvr authdaemond: Authenticated: clearpasswd=rjvfhjd, passwd=*
Feb 25 14:44:31 msvr pop3d: chdir /usr/mail/mymaildomain.ru/: Permission denied

Меня вот интересует тут две вещи. Почему строка maildir=<null> откуда берется этот параметр.
Ну и собственно почему доступ запрещен.
права на папку с почтой postfix:maildrop
drwx------

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

17. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 25-Фев-10, 11:54 
постфикс:

virtual_minimum_uid = 125
virtual_uid_maps = static:125
virtual_gid_maps = static:125

это будет uid:gid папок с почтой.

----

authmysqlrc

MYSQL_UID_FIELD  '125'
MYSQL_GID_FIELD  '125'

Это будет uid:gid процессов courier

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

18. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 25-Фев-10, 11:55 
##NAME: MYSQL_HOME_FIELD:0
#

MYSQL_HOME_FIELD        '/var/spool/postfix/virtual'

##NAME: MYSQL_NAME_FIELD:0
#
# The user's name (optional)

#MYSQL_NAME_FIELD       name

##NAME: MYSQL_MAILDIR_FIELD:0
#
# This is an optional field, and can be used to specify an arbitrary
# location of the maildir for the account, which normally defaults to
# $HOME/Maildir (where $HOME is read from MYSQL_HOME_FIELD).
#
# You still need to provide a MYSQL_HOME_FIELD, even if you uncomment this
# out.
#
MYSQL_MAILDIR_FIELD     maildir

-------

путь к папке почты пользователя получается как MYSQL_HOME_FIELD   + MYSQL_MAILDIR_FIELD

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

19. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 25-Фев-10, 12:18 
>
>путь к папке почты пользователя получается как MYSQL_HOME_FIELD   + MYSQL_MAILDIR_FIELD

В том  то и дело, у меня не используется mysql все логины хронятся в LDAP домена на сервере.
Мне нежно, что бы в эту переменную MAILDIRPATH попало значение такое:
/usr/mail/mymaildomain.ru/{username} с первой то частью проблем нет. она постоянна. А вот с именем пользователя не получается. Оно переменное. Как можно подставить?

По поводу прав тоже не то. У меня постфикс имеет доступ у этой папке. Нет доступа у courier-imap. Когдауже с клиента пытаюсь почту читать.

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

20. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 25-Фев-10, 13:06 
>>
>>путь к папке почты пользователя получается как MYSQL_HOME_FIELD   + MYSQL_MAILDIR_FIELD
>
>В том  то и дело, у меня не используется mysql все
>логины хронятся в LDAP домена на сервере.
>Мне нежно, что бы в эту переменную MAILDIRPATH попало значение такое:
>/usr/mail/mymaildomain.ru/{username} с первой то частью проблем нет. она постоянна. А вот с
>именем пользователя не получается. Оно переменное. Как можно подставить?

не использовал LDAP в качестве хранилища, не подскажу, маны читать надо...

>
>По поводу прав тоже не то. У меня постфикс имеет доступ у
>этой папке. Нет доступа у courier-imap. Когдауже с клиента пытаюсь почту
>читать.

дык постфиксу то пофиг, он пишет себе и пишет. Курьеру скажи каким уидом читать - будет читать. так что не "не то", а про "совпадение уидов".

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

21. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 25-Фев-10, 13:27 

>не использовал LDAP в качестве хранилища, не подскажу, маны читать надо...
>

Так я спрашиваю не про лдап. Мне то нужно... Возможно ли в конфиге pop3d задавать переменные. Ну во в частности имя пользователя которые подключается.
Или может не в конфиге pop3d может надо в конфиге authdaemonrc
Документацию читал. Ничего там нет особо.

>дык постфиксу то пофиг, он пишет себе и пишет. Курьеру скажи каким
>уидом читать - будет читать. так что не "не то", а
>про "совпадение уидов".

Я и спрашиваю как в конфиге pop3d задть что бы он почту читал и писал от имени которое мне нужно.

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

24. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 07:49 
Пожскажите еще такой вот у меня возник вопрос.
Courier-imap-pop3d отказывается работать с полтзователем если у него нет домашнего каталога в системе. Зачем он вообще обращаетс к домашнему каталогу? Когда почта берется из другого совсем места? Для тех пользователей, которые хоть раз заходили в систему все нормально у них каталог домашний автоматом создается.
А вот для тех, кто ниразу не заходил не хочет принимать... Потому что пытается при авторизации открыть домашний каталог. Что он там ищет? Вот лог дебуг=2 такого ользователя у которого не создан каталог.
Feb 26 12:38:05 msvr pop3d: LOGIN, user=komal, ip=[192.168.1.31], port=[62127]
Feb 26 12:38:05 msvr pop3d: LOGOUT, user=komal, ip=[192.168.1.31], port=[62127], top=0, retr=0, rcvd=64, sent=682, time=0
Feb 26 12:38:55 msvr pop3d: Connection, ip=[192.168.1.248]
Feb 26 12:39:10 msvr authdaemond: received auth request, service=pop3, authtype=login
Feb 26 12:39:10 msvr authdaemond: authpam: trying this module
Feb 26 12:39:10 msvr authdaemond: authpam: sysusername=kio, sysuserid=<null>, sysgroupid=10000, homedir=/home/PROC/kio, address=kio, fullname=Kio, maildir=<null>, quota=<null>, options=<null>
Feb 26 12:39:10 msvr authdaemond: authpam: clearpasswd=<null>, passwd=*
Feb 26 12:39:10 msvr authdaemond: pam_service=pop3, pam_username=kio
Feb 26 12:39:10 msvr authdaemond: dopam successful
Feb 26 12:39:10 msvr authdaemond: Authenticated: sysusername=kio, sysuserid=<null>, sysgroupid=10000, homedir=/home/PROC/kio, address=kio, fullname=Kio, maildir=<null>, quota=<null>, options=<null>
Feb 26 12:39:10 msvr authdaemond: Authenticated: clearpasswd=kio00277, passwd=*
Feb 26 12:39:10 msvr pop3d: kio: chdir(/home/PROC/kio) failed!!
Feb 26 12:39:10 msvr pop3d: error: No such file or directory
Feb 26 12:39:10 msvr pop3d: LOGIN FAILED, user=kio, ip=[192.168.1.248]
Feb 26 12:39:10 msvr pop3d: authentication error: No such file or directory

Хотя почта хранится не в /home/Proc/kio а в /usr/mail/mymaildomain/kio и там она принимается нормально почтовиком и пристутсвует.
Если создать домашний каталог то она и забирается оттуда нормально. А вот если домашнего каталога нет то не хочет.
Зачем он туда лезет и как отучить его пытаться туда лезть. Там ведь все равно ничего ему нужного нет.

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

25. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 08:13 
>Courier-imap-pop3d отказывается работать с полтзователем если у него нет домашнего каталога в
>системе. Зачем он вообще обращаетс к домашнему каталогу? Когда почта берется
>из другого совсем места? Для тех пользователей, которые хоть раз заходили
>в систему все нормально у них каталог домашний автоматом создается.
>А вот для тех, кто ниразу не заходил не хочет принимать... Потому
>что пытается при авторизации открыть домашний каталог. Что он там ищет?

Говорю же - почтарь лезет за почтой в майлдир, который он получает сложением
HOME_FIELD + MAILDIR_FIELD, которые получает AUTHDAEMON через соответствующее расширение, которое должно соответствующим образом конфигуриться.


смотрим в твой лог:

>Feb 26 12:39:10 msvr authdaemond: Authenticated: sysusername=kio, sysuserid=<null>, sysgroupid=10000, homedir=/home/PROC/kio, address=kio, fullname=Kio, maildir=<null>, quota=<null>, options=<null>

видим параметры homedir и maildir

>Feb 26 12:39:10 msvr pop3d: kio: chdir(/home/PROC/kio) failed!!

Видим куда мы за почтой полезли...


>Хотя почта хранится не в /home/Proc/kio а в /usr/mail/mymaildomain/kio и там она
>принимается нормально почтовиком и пристутсвует.

"Туда она нормально _кладется_ постфиксом"?

>Если создать домашний каталог то она и забирается оттуда нормально. А вот
>если домашнего каталога нет то не хочет.

Оччень странно. Может симлинки какие создаешь, дополнительно, кроме создания только домашнего каталога ? Иначе не понимаю, откуда ему узнать "куда лезть" за почтой.

>Зачем он туда лезет и как отучить его пытаться туда лезть. Там
>ведь все равно ничего ему нужного нет.

Дык вот, authdaemon конфигурить ?

>Вот лог дебуг=2 такого ользователя у которого не создан каталог.

Ну заодно можно было бы и лог пользователя, у которого каталог создан, "для контрасту".

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

26. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 09:40 
>Говорю же - почтарь лезет за почтой в майлдир, который он получает
>сложением
>HOME_FIELD + MAILDIR_FIELD, которые получает AUTHDAEMON через соответствующее расширение, которое должно соответствующим
>образом конфигуриться.
>

Где и как должно это конфигурироваться? Пробовал писать в файле
/usr/local/etc/authlib/authdemonrc
MAILDIR_FIELD="/usr/mymaildomain.ru/"
Не помогает. Лог точно такой же.
в конфиге /usr/local/etc/courier-imap/pop3d
параметр MAILDIRPATH на это не влияет. Вернее он влияет на то откуда берется почта. И у меня установлен. Почта берется нормально... А тут видимо где то до этого момента он обращается к домашнему каталогу... непонятно зачем.


>? Иначе не понимаю, откуда ему узнать "куда лезть" за почтой.

объяснил выше.

>[оверквотинг удален]
>
>>Зачем он туда лезет и как отучить его пытаться туда лезть. Там
>>ведь все равно ничего ему нужного нет.
>
>Дык вот, authdaemon конфигурить ?
>
>>Вот лог дебуг=2 такого ользователя у которого не создан каталог.
>
>Ну заодно можно было бы и лог пользователя, у которого каталог создан,
>"для контрасту".

Вот лог пользователя у коготого есть домашний каталог.

Feb 26 14:30:25 msvr pop3d: Connection, ip=[192.168.1.248]
Feb 26 14:30:39 msvr authdaemond: received auth request, service=pop3, authtype=login
Feb 26 14:30:39 msvr authdaemond: authpam: trying this module
Feb 26 14:30:39 msvr authdaemond: authpam: sysusername=gal, sysuserid=<null>, sysgroupid=10000, homedir=/home/PROC/gal, address=gal, fullname=Gal, maildir=<null>, quota=<null>, options=<null>
Feb 26 14:30:39 msvr authdaemond: authpam: clearpasswd=<null>, passwd=*
Feb 26 14:30:39 msvr authdaemond: pam_service=pop3, pam_username=gal
Feb 26 14:30:39 msvr authdaemond: dopam successful
Feb 26 14:30:39 msvr authdaemond: Authenticated: sysusername=gal, sysuserid=<null>, sysgroupid=10000, homedir=/home/PROC/gal, address=gal, fullname=Gal, maildir=<null>, quota=<null>, options=<null>
Feb 26 14:30:39 msvr authdaemond: Authenticated: clearpasswd=werona, passwd=*
Feb 26 14:30:39 msvr pop3d: LOGIN, user=gal, ip=[192.168.1.248], port=[46486]
Feb 26 14:30:45 msvr pop3d: LOGOUT, user=gal, ip=[192.168.1.248], port=[46486], top=0, retr=0, rcvd=12, sent=45, time=6

Я уже исходники pop3dserver посмотрел. Дело в том, что там переменная окружающей среды maildir не устанавливается и не устаовлена вообще.
А параметр MAILDIRPATH из конфига etc/courier-imap/pop3d передается функции main как параметр. И уже она оттуда пфтается брать почту. А вот где устанавливается переменная maildir я так и не могу понятб.

В каком конфиге мне писать MAILDIR_FIELD что бы он попал в maildir?
в authmysqlrc я не могу писать. Потому что у меня нет авторизации через sql.
в authdaemonrc не помогает.

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

28. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 10:11 

Судя по сырцам authpam.c maildir нигде не выставляется.
Думается, надо скорректировать настройку системы, чтобы она для пользователя выдавала правильный homedir - не на ровном же месте оно формирует "/home/PROC/gal".
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

29. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 10:23 
>
>Судя по сырцам authpam.c maildir нигде не выставляется.
>Думается, надо скорректировать настройку системы, чтобы она для пользователя выдавала правильный homedir
>- не на ровном же месте оно формирует "/home/PROC/gal".

Да вот в том то и дело что непонятно когда и откуда он это значение берет. И еще больше непонятно зачем он обращается в директорию homedir. Я тоже в сырцах не могу найти. Не то что бы где он пытается записать что то в маилдир. А вообще не могу найти, где он оббращается к директории homedir.

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

30. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 10:39 
>[оверквотинг удален]
>>Судя по сырцам authpam.c maildir нигде не выставляется.
>>Думается, надо скорректировать настройку системы, чтобы она для пользователя выдавала правильный homedir
>>- не на ровном же месте оно формирует "/home/PROC/gal".
>
>Да вот в том то и дело что непонятно когда и откуда
>он это значение берет. И еще больше непонятно зачем он обращается
>в директорию homedir. Я тоже в сырцах не могу найти. Не
>то что бы где он пытается записать что то в маилдир.
>А вообще не могу найти, где он оббращается к директории homedir.
>

Потому что авторизация через PAM задумана для системных пользователей.
Соответственно, работает следующим образом:
1. Берем логин пароль, авторизуем через PAM
2. Ищем хомяк пользователя (homedir), через NSS
3. Берем найденный homedir добавляем к нему MAILDIRPATH=Maildir из конфига imapd/pop3d
4. выдаем пользователю его почту.


авторизация через LDAP/SQL задумана для _несистемных_ пользователей, соответственно
1. Авторизуем, запрашивая данные пользователя из хранилища,  по логину,
1.1 проверяем пароль, с использованием различных обработок - потому что данных тупо больше - например доступен пароль пользвователя (из хранилища) в чистом виде
2. homedir берется из LDAP_HOMEDIR/MYSQL_HOME_FIELD атрибутов
3. Внимание фокус -  позволяем переопределять maildir - поскольку надо большей гибкости - видимо не особо нужной в случае системных пользователей.
4. выдаем пользователю его почту.

В случае системных аккаунтов почта хранится в:
~user/Maildir , где ~user может быть равно /home/user  /home/u/user и т д

В случае виртуальных аккаунтов почта хранится в:

MYSQL_HOME_FIELD + MYSQL_MAILDIR_FIELD

кусок конфига:

MYSQL_HOME_FIELD '/var/spool/postfix/virtual'
MYSQL_MAILDIR_FIELD maildir

и почта хранится в /var/spool/postfix/virtual/domain.tld/user@domain.tld
поскольку в БД значение поля == domain.tld/user@domain.tld (ну это настраиваемо в postfixadmin)


---

Или, если читать пример конфига лдапа

# If homeDirectory is not an absolute path, define the root of the
# relative paths in LDAP_MAILROOT
#  LDAP_MAILROOT        /var/mail

LDAP_HOMEDIR            homeDirectory

# The MAILDIR attribute is OPTIONAL, and specifies the location of the
# mail directory.  If not specified, ./Maildir will be used
LDAP_MAILDIR            mailbox

почта пользователя будет храниться в

LDAP_MAILROOT + LDAP_HOMEDIR + LDAP_MAILDIR

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

31. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 11:06 
Где находится этот ldap конфиг? попробую через лдап тогда настроить.
Это я так понимаю ldap конфиг для authdaemon?
в папке etc/autlib/ есть только файлы authdaemonrc и authmysqlrc
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

32. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 11:10 
>Где находится этот ldap конфиг? попробую через лдап тогда настроить.
>Это я так понимаю ldap конфиг для authdaemon?
>в папке etc/autlib/ есть только файлы authdaemonrc и authmysqlrc

Ссори. Снимаю вопрос. У меня courier без поддержки лдап был собран. Сейчас пересоберу. Попробую через лдап организовать.

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

42. "postfix virtual transport"  +/
Сообщение от Warhead Wardick on 26-Фев-10, 23:54 
>Потому что авторизация через PAM задумана для системных пользователей.

Нет. Это универсальный механизм.

>Соответственно, работает следующим образом:
>1. Берем логин пароль, авторизуем через PAM

И вот настройками PAM'a уже и рулим что и как проверять.

>2. Ищем хомяк пользователя (homedir), через NSS

Если только это указано в PAM'e. Пусть вопрошавший и смотрит чего у него нам насовано в настройки для pop3 ... быстрее всего он там найдёт что то типа:
auth required pam_unix.so тырыдыдым
А вот требует ли unix.so наличия хомяка - я уже не помню :) Тут вы уж сами дожимайте ...

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

44. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 27-Фев-10, 07:41 
>>Потому что авторизация через PAM задумана для системных пользователей.
>
>Нет. Это универсальный механизм.

Универсальный механизм авторизации/аутентификации. Но, к сожалению - только этого.
Дальше - например для получения домашнего каталога пользователя - используются уже другие механизмы.

>>2. Ищем хомяк пользователя (homedir), через NSS
>
>Если только это указано в PAM'e. Пусть вопрошавший и смотрит чего у
>него нам насовано в настройки для pop3 ... быстрее всего он
>там найдёт что то типа:
>auth required pam_unix.so тырыдыдым
>А вот требует ли unix.so наличия хомяка - я уже не помню
>:) Тут вы уж сами дожимайте ...

Этого требует сам authdaemon-pam, об этом вы можете убедиться посмотрев его исходный код.

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

27. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 09:44 
Авторизация у меня настроена через pam. Ну это видно из логов.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

33. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 12:59 
Ну теперь не хочет через лдап авторизоваться...
лог:

Feb 26 17:51:46 msvr authdaemond: modules="authldap", daemons=5
Feb 26 17:51:46 msvr authdaemond: Installing libauthldap
Feb 26 17:51:46 msvr authdaemond: Installation complete: authldap
Feb 26 17:51:55 msvr pop3d: Connection, ip=[192.168.1.31]
Feb 26 17:51:55 msvr authdaemond: received auth request, service=pop3, authtype=login
Feb 26 17:51:55 msvr authdaemond: authldap: trying this module
Feb 26 17:51:55 msvr authdaemond: selected ldap protocol version 3
Feb 26 17:51:55 msvr authdaemond: binding to LDAP server as DN 'cn=postfix, cn=Users, dc=proc, dc=local', password 'postfix'
Feb 26 17:51:55 msvr authdaemond: ldap_simple_bind_s failed: Can't contact LDAP server
Feb 26 17:51:55 msvr authdaemond: selected ldap protocol version 3
Feb 26 17:51:55 msvr authdaemond: binding to LDAP server as DN 'cn=postfix, cn=Users, dc=proc, dc=local', password 'postfix'
Feb 26 17:51:55 msvr authdaemond: ldap_simple_bind_s failed: Can't contact LDAP server
Feb 26 17:51:55 msvr authdaemond: authldap: TEMPFAIL - no more modules will be tried
Feb 26 17:51:55 msvr pop3d: LOGIN FAILED, user=gal, ip=[192.168.1.31]
Feb 26 17:51:55 msvr pop3d: authentication error: Input/output error

вот конфиг лдап:

 LDAP_URI                ldaps://192.168.1.251:389, ldaps://lawnew.proc.local:389
LDAP_PROTOCOL_VERSION   3
LDAP_BASEDN             cn=Users, dc=proc, dc=local
LDAP_BINDDN             cn=postfix, cn=Users, dc=proc, dc=local
LDAP_BINDPW             postfix
LDAP_TIMEOUT            50
LDAP_AUTHBIND           1
LDAP_MAIL               mail
LDAP_HOMEDIR            homeDirectory
LDAP_MAILROOT        /usr/mail/
LDAP_MAILDIR            mail
LDAP_DEFAULTDELIVERY    defaultDelivery
LDAP_CLEARPW            clearPassword
LDAP_CRYPTPW            userPassword
LDAP_DEREF              never
LDAP_TLS                0

не понимаю че ему надо. Виртуальный транстпорт постфикса с такими параметрами коннектица и все работает. А этот... подскажите люди добрые.

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

34. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 13:17 
>вот конфиг лдап:
>LDAP_URI ldaps://192.168.1.251:389, ldaps://lawnew.proc.local:389
>LDAP_TLS  0
>
>не понимаю че ему надо. Виртуальный транстпорт постфикса с такими параметрами коннектица
>и все работает. А этот... подскажите люди добрые.

Я правильно не понимаю несоответствие между ldapS и LDAP_TLS=0 ?

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

35. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 14:08 

>Я правильно не понимаю несоответствие между ldapS и LDAP_TLS=0 ?

Спасибо тебе добрый человек :). Проглядел. К лдапу теперь конектится и все что надо читает. однако очень плохо что в переменные нельзя записать просто строку. Можно только присвоить поле из найденого в лдап контейнера. Причем поле всегда целиком.


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

36. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 14:54 
>
>>Я правильно не понимаю несоответствие между ldapS и LDAP_TLS=0 ?
>
>Спасибо тебе добрый человек :). Проглядел. К лдапу теперь конектится и все
>что надо читает. однако очень плохо что в переменные нельзя записать
>просто строку. Можно только присвоить поле из найденого в лдап контейнера.
>Причем поле всегда целиком.

KomaLex - Алексей,  Томск ?

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

37. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 15:10 

>KomaLex - Алексей,  Томск ?

Да. Ну я правда уже не в томске живу. но Учился там и жил немного. А кто это? :)

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

38. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 16:54 
>
>>KomaLex - Алексей,  Томск ?
>
>Да. Ну я правда уже не в томске живу. но Учился там
>и жил немного. А кто это? :)

Ну так, врядли мы знакомы, но...
Южка, 4ка, ФСУ... И вроде есть общие знакомые :-)

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

39. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 26-Фев-10, 17:03 
>Ну так, врядли мы знакомы, но...
>Южка, 4ка, ФСУ... И вроде есть общие знакомые :-)

Мир тесен :) Я в иркутске уже несколько лет. А вот не ожидал на этом сайте :). Увидел пост, удивился жутко :). Еще и по нику узнал )). Наверно с ФТР ник запомнил?

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

40. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 20:47 
>>Ну так, врядли мы знакомы, но...
>>Южка, 4ка, ФСУ... И вроде есть общие знакомые :-)
>
>Мир тесен :) Я в иркутске уже несколько лет. А вот не
>ожидал на этом сайте :). Увидел пост, удивился жутко :). Еще
>и по нику узнал )). Наверно с ФТР ник запомнил?

Ник, может и с фтр. Да фиг знает, тесен мир, ага.
Как-то было что некий человек пришел ко мне, еще в общагу, и "ба, да это же Лёха... " :-)
В общем как-то так  :-) Мир тесен.

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

41. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 26-Фев-10, 20:50 
>[оверквотинг удален]
>>>Южка, 4ка, ФСУ... И вроде есть общие знакомые :-)
>>
>>Мир тесен :) Я в иркутске уже несколько лет. А вот не
>>ожидал на этом сайте :). Увидел пост, удивился жутко :). Еще
>>и по нику узнал )). Наверно с ФТР ник запомнил?
>
>Ник, может и с фтр. Да фиг знает, тесен мир, ага.
>Как-то было что некий человек пришел ко мне, еще в общагу, и
>"ба, да это же Лёха... " :-)
>В общем как-то так  :-) Мир тесен.

Инсталляции фряхи то оттуда и начинались. Илья aka cis, думаю знаешь :-) админил сетку...

А мы - сначала выход через левые шлюзы, свои сети внутри общаги, первые рутеры... Это уже потом инет по впнам стал, а уже совсем потом управляемые свичи поставили :-))

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

43. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 27-Фев-10, 06:03 
не понимаю я логики разработчиков. Может кто то объяснит как оно вообще должно работать? По мне так вот postfix транспорте все логично организовано и гибко очень.
задаем читать с лдап и пишем в конфиге
query_filter = mail=%s
result_attribute = mail
result_format = /%d/%u/
и mta раскладывает почту в папки virtual_base_mail+%d+%u
получается очень удобно. Если в поле маил хранится puokin@mymaildomain.ru
а в virtual_base_mail некий префик например /usr/mail
то почта раскладывается по папкам /usr/mail/mymaildomain.ru/pupkin
Для каждого пользователя в отделную папку. Очень удобно, гибко и на мой взгляд правильно.

Почему так работает курер я вообще понять не могу.
Во первых ему зачем то обязательно нужна дериктория в переменной homedir. Причем он туда ничего не складывает и ничего оттуда не берет она просто долджна быть с правами на нее.
Составляется она из двух частей.
LDAP_HOMEDIR в эту переменную можно записать просто константу в виде строки  +
LDAP_MAILROOT в описании написанно, что эта переменная служит дополнением, если в переменной homedir путь не абсолютный. Занести туда можно только поле из конейнера найденого в Ldap причем ни часть поля ни комбинацию из двух полей или нельзхя к нему добавить строку постоянную.
Непонятно нафигша вообще эта переменная и зачем ему этот каталог нужен. Если каталог отсутсвует или не открывается авторизация считается неудачной демон шлет куда подальше.

C С директорией maildir дела еще хуже. получается она следующми образом. authdemon при чтении конфига пишет туда переменную LDAP_MAILDIR причем в эту переменную можно занести только поле найденое в лдап. Никаких комбинаций из переменных или полей лдап. То есть в контейнере пользователя должно быть отдельное поле с путем где поп3демон будет брать почту. Туда даже просто константную строку нельзя присвоить. и никаких комбинаций полей.
Начнем с того, что лдапе пользователей домена 2003 нет никаких полей с подобным назначением.
Если в это поле ничего не писать. Он присваивает ему NULL. Но авторизация в общем проходит успешно. Тут ему жизнено необходим только хомедир.
Далее начинает работу pop3d Этот демон тоже работает весьма странно.
Если переменная maildir не равна NULL то он получает на вход в качестве аргумента ее значение. А переменную MAILDIRPATH из конфига вообще игнорирует.
если maildir демоном авторизации установлен в ноль то он пытается брать почту из директории которая записанна MAILDIRPATH. Причем не складывает их а либо то либо другое.
Если и тут ничего нет то присваивает значение ./Maildir

Как оно должно работать то? Только с самонаписанными специально для этого агента схемами лдап что ли?

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

45. "postfix virtual transport"  +/
Сообщение от PavelR (??) on 27-Фев-10, 08:20 
>Почему так работает курер я вообще понять не могу.
>Во первых ему зачем то обязательно нужна дериктория в переменной homedir. Причем
>он туда ничего не складывает и ничего оттуда не берет она
>просто долджна быть с правами на нее.

Исходно считалось, что почта должна жить в хомяке пользователя, в отдельном подкаталоге.
Соответственно, надо знать путь к домашнему каталогу пользователя - homedir + в каком подкаталоге домашнего каталога пользователь хранит почту - maildir.  По дефолту/стандарту - майлдир равен "Maildir/".

LDAP_MAILROOT - это, думаю, появилось позже, как расширение базовых возможностей модуля.


>Непонятно нафигша вообще эта переменная и зачем ему этот каталог нужен. Если
>каталог отсутсвует или не открывается авторизация считается неудачной демон шлет куда
>подальше.

Так что вот тебе объяснение, зачем нужны эти каталоги.

>C С директорией maildir дела еще хуже. получается она следующми образом. authdemon
>при чтении конфига пишет туда переменную LDAP_MAILDIR причем в эту переменную
>можно занести только поле найденое в лдап. Никаких комбинаций из переменных
>или полей лдап. То есть в контейнере пользователя должно быть отдельное
>поле с путем где поп3демон будет брать почту. Туда даже просто
>константную строку нельзя присвоить. и никаких комбинаций полей.
>Начнем с того, что лдапе пользователей домена 2003 нет никаких полей с
>подобным назначением.
>Если в это поле ничего не писать. Он присваивает ему NULL. Но
>авторизация в общем проходит успешно. Тут ему жизнено необходим только хомедир.

Всё верно. В твоем случае maildir - не нужен. Хотя, может быть и возможно использовать его при построении "обходных схем" - всё-таки два параметра, возможно, лучше чем один.


>Далее начинает работу pop3d Этот демон тоже работает весьма странно.
>Если переменная maildir не равна NULL то он получает на вход в
>качестве аргумента ее значение. А переменную MAILDIRPATH из конфига вообще игнорирует.
>
>если maildir демоном авторизации установлен в ноль то он пытается брать почту
>из директории которая записанна MAILDIRPATH. Причем не складывает их а либо
>то либо другое.
>Если и тут ничего нет то присваивает значение ./Maildir

Дык всё логично-то. Не все модули выставляют значение maildir, вот pop3d/imapd и используют в этом случае значение из своего конфига.

>
>Как оно должно работать то? Только с самонаписанными специально для этого агента
>схемами лдап что ли?

Возможно что и так. Я вообщет в LDAP не силен. Но, AFAIK, установка эксченжа расширяет набор атрибутов пользователя в АД....

Ты посмотри, какие у тебя атрибуты имеются, и собери из них правильную для тебя схему хранения почты, а постфикс подточишь, я так понимаю он более гибок.

С другой стороны собери всё это, с обратной.

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

46. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 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
перезапускаем демона
И наступит счастье :)

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

47. "postfix virtual transport"  +/
Сообщение от teo730 on 05-Мрт-10, 15:37 

>
>Как настроить так, что бы принимал только доменных пользователей и раскладывал их
>по папкам. Каждому свою. Помогите плиз...

например

virtual_maps = pcre:/usr/local/etc/user

файл user
/^(.*)@(.*)$/ domain/$1/

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

48. "postfix virtual transport"  +/
Сообщение от teo730 on 05-Мрт-10, 15:40 
>[оверквотинг удален]
>>
>>Как настроить так, что бы принимал только доменных пользователей и раскладывал их
>>по папкам. Каждому свою. Помогите плиз...
>
>например
>
>virtual_maps = pcre:/usr/local/etc/user
>
>файл user
>/^(.*)@(.*)$/ domain/$1/

поправочка
>/^(.*)@domain\.ru$/ domain/$1/

только проверь все правила что б не приходило не существующим юзверям, папки будут создаваться автоматически

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

49. "postfix virtual transport"  +/
Сообщение от KomaLex (ok) on 11-Мрт-10, 15:53 
Еще вопросик по алиасам. Нужно реализовать рассулку по групам, для этого у группы завожу мыло
main.cf

virtual_alias_maps = ldap:/usr/local/etc/postfix/ldapgroup.cf

ldapgroup.cf


server_host = pdc.domain.local
version = 3
bind = yes
bind_dn = postfix@domain.local
bind_pw = postfix
search_base = cn=Users, dc=proc, dc=local
query_filter = (&(objectclass=group)(mail=%s))
leaf_result_attribute = mail
special_result_attribute = member

По задумке если отправить на мыло группе почту. То она должна найти и обноружить что это группа. А потом достать всех кто включен в группу и отправить им на мыло. но оно этого не делает. Хотя с лдапа достает то что нужно.
результат
postmap -q mailgrup@mymaildomain.ru ldapgroup.cf


volkov@mymaildomain.ru,tsyngueva@mymaildomain.ru,peresypkina@mymaildomain.ru,eugene@mymaildomain.ru

и вообще как то алиасы не работаю. Я мож чего то не понимаю.
пробовал не через лдап а в ручную в файле писал
alias.cf


mailgroup@mymaildonain.ru volkov@mymaildomain.ru,tsyngueva@mymaildomain.ru,peresypkina@mymaildomain.ru,eugene@mymaildomain.ru

postmap alias.cf
и в mian.cf
virtual_alias_maps = hash:/usr/local/etc/postfix/alias.cf

почему то не рассылает по всем почту, а принимает как для одного пользователя mailgroup

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

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

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




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

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