Что есть:
Клиенты на Windiws, для удобства управляются с AD.
Задача:
Организация доступа к Интернет (Squid) и почте ....
так как пользователи народ ленивые - нужна одна учётная запись - для домена (вспомогательно) для почты и для прокси
Авторизация в Squid через AD - решаемо ( ntlm либо ldap)
пример:
Squid и LDAP-аутентификация из Active Directory
http://www.opennet.ru/base/net/squid_ldap_ad.txt.html
но осуществить SMTP авторизацию пользователей в Active Ddirectory через SASL не получается
примеры:
Интеграция почтового сервера Exim c MS Active Directory
http://www.opennet.ru/base/net/exim_ms_act...ectory.txt.html
SMTP авторизация пользователей в Active Ddirectory (Postfix + SASL)
http://www.opennet.ru/base/net/ad_postfix_auth.txt.html
по данным примерам служебный пользователь почему-то не авторизуется в домене
(ldapsearch -D "Postfix@sb.astelecom.ru" -x -W -b "dc=sb,dc=astelecom,dc=ru" -h 10.135.111.4 - тут всё впорядке )
==========================================
testsaslauthd -u Postfix -p 11111111
0: NO "authentication failed"
==========================================
Код:
saslauthd -a ldap -d -n 1 -V
saslauthd[7385] :main : num_procs : 1
saslauthd[7385] :main : mech_option: NULL
saslauthd[7385] :main : run_path : /var/run/sasl2/
saslauthd[7385] :main : auth_mech : ldap
saslauthd[7385] :ipc_init : using accept lock file: /var/run/sasl2//mux.accept
saslauthd[7385] :detach_tty : master pid is: 0
saslauthd[7385] :ipc_init : listening on socket: /var/run/sasl2//mux
saslauthd[7385] :main : using process model
saslauthd[7385] :get_accept_lock : acquired accept lock
saslauthd[7385] :rel_accept_lock : released accept lock
ldap_simple_bind_s
ldap_sasl_bind_s
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP 10.135.111.4:389
ldap_new_socket: 10
ldap_prepare_socket: 10
ldap_connect_to_host: Trying 10.135.111.4:389
ldap_connect_timeout: fd: 10 tm: 5 async: 0
ldap_ndelay_on: 10
ldap_is_sock_ready: 10
ldap_ndelay_off: 10
ldap_open_defconn: successful
ldap_send_server_request
ldap_result ld 0x805aec8 msgid 1
ldap_chkResponseList ld 0x805aec8 msgid 1 all 1
ldap_chkResponseList returns ld 0x805aec8 NULL
wait4msg ld 0x805aec8 msgid 1 (infinite timeout)
wait4msg continue ld 0x805aec8 msgid 1 all 1
** ld 0x805aec8 Connections:
* host: 10.135.111.4 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Feb 5 20:58:14 2008
** ld 0x805aec8 Outstanding Requests:
* msgid 1, origid 1, status InProgress
outstanding referrals 0, parent count 0
** ld 0x805aec8 Response Queue:
Empty
ldap_chkResponseList ld 0x805aec8 msgid 1 all 1
ldap_chkResponseList returns ld 0x805aec8 NULL
ldap_int_select
read1msg: ld 0x805aec8 msgid 1 all 1
read1msg: ld 0x805aec8 msgid 1 message type bind
read1msg: ld 0x805aec8 0 new referrals
read1msg: mark request completed, ld 0x805aec8 msgid 1
request done: ld 0x805aec8 msgid 1
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
ldap_parse_result
ldap_msgfree
ldap_search
put_filter: "(sAMAccountName=Postfix)"
put_filter: simple
put_simple_filter: "sAMAccountName=Postfix"
ldap_build_search_req ATTRS:
dn
ldap_send_initial_request
ldap_send_server_request
ldap_result ld 0x805aec8 msgid 2
ldap_chkResponseList ld 0x805aec8 msgid 2 all 1
ldap_chkResponseList returns ld 0x805aec8 NULL
wait4msg ld 0x805aec8 msgid 2 (timeout 5000000 usec)
wait4msg continue ld 0x805aec8 msgid 2 all 1
** ld 0x805aec8 Connections:
* host: 10.135.111.4 port: 389 (default)
refcnt: 2 status: Connected
last used: Tue Feb 5 20:58:14 2008
** ld 0x805aec8 Outstanding Requests:
* msgid 2, origid 2, status InProgress
outstanding referrals 0, parent count 0
** ld 0x805aec8 Response Queue:
Empty
ldap_chkResponseList ld 0x805aec8 msgid 2 all 1
ldap_chkResponseList returns ld 0x805aec8 NULL
ldap_int_select
read1msg: ld 0x805aec8 msgid 2 all 1
read1msg: ld 0x805aec8 msgid 2 message type search-result
read1msg: ld 0x805aec8 0 new referrals
read1msg: mark request completed, ld 0x805aec8 msgid 2
request done: ld 0x805aec8 msgid 2
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 2, msgid 2)
ldap_free_connection 0 1
ldap_free_connection: refcnt 1
ldap_parse_result
ldap_msgfree
saslauthd[7385] :do_auth : auth failure: [user=Postfix] [service=imap] [realm=] [mech=ldap] [reason=Unknown]
saslauthd[7385] :do_request : response: NO
saslauthd[7385] :get_accept_lock : acquired accept lock
saslauthd[7385] :server_exit : pid file lock removed: /var/run/sasl2//saslauthd.pid.lock
saslauthd[7385] :ipc_cleanup : accept lock file removed: /var/run/sasl2//mux.accept
saslauthd[7385] :ipc_cleanup : socket removed: /var/run/sasl2//mux
saslauthd[7385] :server_exit : master exited: 0=====