The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

postfix + postgres + sasl + pam_pgsql, Vii (ok), 03-Дек-06, (0) [смотреть все]

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


7. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Viiemail (ok), 04-Дек-06, 11:54 
Теперь он к saslauchd коннектится:
cat smtpd.conf
pwcheck_method: saslauthd
saslauthd_path: /var/run/saslauthd/mux
mech_list: plain login

в cat /etc/pam.d/smtp
%PAM-1.0
auth        required      /lib/security/pam_pgsql.so
account     required      /lib/security/pam_pgsql.so
password    required      /lib/security/pam_pgsql.so

Выдает ошибку, тестирую
# testsaslauthd -s smtp -u test -p teste -f /var/run/saslauthd/mux
0: OK "Success."

# authtest test
Authentication succeeded.

     Authenticated: test  (uid 1000, gid 1000)
    Home Directory: /var/spool/virtual/
           Maildir: test.domain/test/
             Quota: (none)
Encrypted Password: $1$.J.LF$K2IE.hH/CNpIyYfuniEWy/
Cleartext Password: (none)
           Options: (none)

отпровляю почту в логах:
Dec  4 14:55:29 mail postfix/smtpd[26940]: connect from unknown[192.168.0.38]
Dec  4 14:55:30 mail postfix/smtpd[26940]: warning: SASL authentication failure: Password verification failed
Dec  4 14:55:30 mail postfix/smtpd[26940]: warning: unknown[192.168.0.38]: SASL PLAIN authentication failed
Dec  4 14:55:30 mail postfix/smtpd[26940]: 0ED957B818D: client=unknown[192.168.0.38]
Dec  4 14:55:30 mail postfix/smtpd[26940]: disconnect from unknown[192.168.0.38]

Изменяю:
в cat /etc/pam.d/smtp
%PAM-1.0
auth       required     pam_stack.so service=system-auth
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth

в авторизации smtp прописываю реального пользователя - авторизация проходит......
Ктонить подскажет в чем дело?

Ответить | Правка | Наверх | Cообщить модератору

8. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Viiemail (ok), 07-Дек-06, 12:31 
Теперь осталась одна проблема.
Т.к. у меня сервер с поддержкой виртуальных доменов, в pam попадает только первая часть логина, а именно до "@" как сделать чтоб он полностью отдавал с доменом в pam?
Ответить | Правка | Наверх | Cообщить модератору

9. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Viiemail (ok), 07-Дек-06, 15:17 
Ну теперь все, сделал....
Пришлось дописывать pam_pgsql.c
1) Расширил запрос с "SELECT %s FROM %s WHERE %s='%s'"
            стало "SELECT %s FROM %s WHERE %s LIKE '%s@%%'"

2) добавил цикл после:
    if(PQntuples(res) == 0) {
        rc = PAM_USER_UNKNOWN;
    } else {
Сам цикл:
             for(fff=0;fff<PQntuples(res);fff++)
              {
строку переделал:char *stored_pw = PQgetvalue(res, 0, 0);
на:            char *stored_pw = PQgetvalue(res, fff, 0);
                ...............
                ...............
              }
    }
ну вроде все заработало.......
по иде не так много будет много почтовых ящиков пахожих на это:
user@test.domain
user@domain.test
и особой задержки это не вызовит))))))
спасибо всем!!!!!!
Если что обращайтесь


Ответить | Правка | Наверх | Cообщить модератору

10. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Alex_hha (?), 09-Дек-06, 17:30 
А почему бы не использовать виртуальных пользователей и напрямую не выбирать их из БД.
Зачем заморочка с pam???
Ответить | Правка | Наверх | Cообщить модератору

11. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Viiemail (??), 10-Дек-06, 14:37 
>А почему бы не использовать виртуальных пользователей и напрямую не выбирать их
>из БД.
>Зачем заморочка с pam???

т.к. у меня в базе хронятся криптованные пароли а не в открытом виде :))))
А я не знаю чтоб sasl сравнивал криптовые пароли, если знаете то подскажите :)


Ответить | Правка | Наверх | Cообщить модератору

12. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Alex_hha (?), 12-Дек-06, 16:17 
>>А почему бы не использовать виртуальных пользователей и напрямую не выбирать их
>>из БД.
>>Зачем заморочка с pam???
>
>т.к. у меня в базе хронятся криптованные пароли а не в открытом
>виде :))))
>А я не знаю чтоб sasl сравнивал криптовые пароли, если знаете то
>подскажите :)

Эта проблема уже давно решена. Вот глянь тут - http://www.sys-adm.org.ua/mail/mail-howto-p1.php. Правда там я описывал под mysql, но в твоем случае больших отличий не будет.

Ответить | Правка | Наверх | Cообщить модератору

14. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Viiemail (??), 12-Дек-06, 17:02 
>>>А почему бы не использовать виртуальных пользователей и напрямую не выбирать их
>>>из БД.
>>>Зачем заморочка с pam???
>>
>>т.к. у меня в базе хронятся криптованные пароли а не в открытом
>>виде :))))
>>А я не знаю чтоб sasl сравнивал криптовые пароли, если знаете то
>>подскажите :)
>
>Эта проблема уже давно решена. Вот глянь тут - http://www.sys-adm.org.ua/mail/mail-howto-p1.php. Правда там
>я описывал под mysql, но в твоем случае больших отличий не
>буд

Спачибо :)) попробую проэксперементировать нп работающем сервере :((((


Ответить | Правка | Наверх | Cообщить модератору

13. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от A Clockwork Orange (?), 12-Дек-06, 16:34 
>Ну теперь все, сделал....
>Пришлось дописывать pam_pgsql.c
>1) Расширил запрос с "SELECT %s FROM %s WHERE %s='%s'"
>            
>стало "SELECT %s FROM %s WHERE %s LIKE '%s@%%'"
>
>2) добавил цикл после:
>    if(PQntuples(res) == 0) {
>        rc = PAM_USER_UNKNOWN;
>    } else {
>Сам цикл:
>            
> for(fff=0;fff<PQntuples(res);fff++)
>            
>  {
>строку переделал:char *stored_pw = PQgetvalue(res, 0, 0);
>на:            
>char *stored_pw = PQgetvalue(res, fff, 0);
>            
>    ...............
>            
>    ...............
>            
>  }
>    }


а запустить
saslauthd -r -a pam
так не получилось бы?

>ну вроде все заработало.......
>по иде не так много будет много почтовых ящиков пахожих на это:
>
>user@test.domain
>user@domain.test
>и особой задержки это не вызовит))))))
>спасибо всем!!!!!!
>Если что обращайтесь


Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

15. "postfix + postgres + sasl + pam_pgsql"  +/
Сообщение от Viiemail (??), 12-Дек-06, 17:04 
>>Ну теперь все, сделал....
>>Пришлось дописывать pam_pgsql.c
>>1) Расширил запрос с "SELECT %s FROM %s WHERE %s='%s'"
>>            
>>стало "SELECT %s FROM %s WHERE %s LIKE '%s@%%'"
>>
>>2) добавил цикл после:
>>    if(PQntuples(res) == 0) {
>>        rc = PAM_USER_UNKNOWN;
>>    } else {
>>Сам цикл:
>>            
>> for(fff=0;fff<PQntuples(res);fff++)
>>            
>>  {
>>строку переделал:char *stored_pw = PQgetvalue(res, 0, 0);
>>на:            
>>char *stored_pw = PQgetvalue(res, fff, 0);
>>            
>>    ...............
>>            
>>    ...............
>>            
>>  }
>>    }
>
>
>а запустить
>saslauthd -r -a pam
>так не получилось бы?
>
>>ну вроде все заработало.......
>>по иде не так много будет много почтовых ящиков пахожих на это:
>>
>>user@test.domain
>>user@domain.test
>>и особой задержки это не вызовит))))))
>>спасибо всем!!!!!!
>>Если что обращайтесь

Почитаем посмотрим........ Спасиб)))

Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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