Courier-imap [SOLVED]
Комрады,
Не могу догадаться каким образом приучить courier-imap использовать Maildir`ы не в домашней директории пользователя, а в /var/spool/mail/
стоит связка EXIM+Sasl+courier-imap, авторизация идет через Active Directory.
Конфиг:
sirius courier-imap # cat pop3d
PIDFILE=/var/run/pop3d.pid
MAXDAEMONS=100
MAXPERIP=4
POP3AUTH="LOGIN"
POP3AUTH_ORIG="PLAIN LOGIN"
POP3AUTH_TLS=""
POP3AUTH_TLS_ORIG="LOGIN PLAIN"
POP3_PROXY=0
PORT=110
ADDRESS=0
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=pop3d"
MAILDIRPATH=/var/lib/mail
# Hardwire a value for ${MAILDIR}
MAILDIR=
# Put any program for ${PRERUN} here
PRERUN=
# Put any program for ${LOGINRUN} here
# this is for relay-ctrl-allow in 4*
LOGINRUN=
Лог:
May 27 20:10:34 sirius authdaemond: received auth request, service=pop3, authtype=login
May 27 20:10:34 sirius authdaemond: authldap: trying this module
May 27 20:10:34 sirius authdaemond: selected ldap protocol version 3
May 27 20:10:34 sirius authdaemond: binding to LDAP server as DN 'cn=exim,cn=Users,dc=domain,dc=com', password '*********'
May 27 20:10:34 sirius authdaemond: using search filter: (&(objectCategory=person)(objectClass=user)(sAMAccountName=polukeew))
May 27 20:10:34 sirius authdaemond: one entry returned, DN: CN=.................. ................,OU=TaberAdmins,DC=domain,DC=com
May 27 20:10:34 sirius authdaemond: raw ldap entry returned:
May 27 20:10:34 sirius authdaemond: | cn: .................. ................
May 27 20:10:34 sirius authdaemond: | sAMAccountName: polukeew
May 27 20:10:34 sirius authdaemond: authldaplib: sysusername=
May 27 20:10:34 sirius authdaemond: authldaplib: clearpasswd=
May 27 20:10:34 sirius authdaemond: rebinding with DN 'CN=.................. ................,OU=TaberAdmins,DC=taber,DC=ru' to validate password
May 27 20:10:34 sirius authdaemond: authentication bind successful
May 27 20:10:34 sirius pop3d: polukeew: chdir() failed!!
May 27 20:10:34 sirius authdaemond: Authenticated: sysusername=
May 27 20:10:34 sirius pop3d: error: No such file or directory
May 27 20:10:34 sirius authdaemond: Authenticated: clearpasswd=***************, passwd=
May 27 20:10:34 sirius pop3d: LOGIN FAILED, user=polukeew, ip=[10.1.1.49]
May 27 20:10:34 sirius pop3d: authentication error: No such file or directory
- Для комментирования войдите или зарегистрируйтесь
Надо смотреть
Надо смотреть не в pop3d, а в /etc/courier/authlib/authldaprc. Параметры
LDAP_HOMEDIR homeDirectory
LDAP_MAILDIR mailbox
LDAP_MAILROOT /var/mail
Проблема в том, что придется как-то выкручиваться из-за LDAP_HOMEDIR - он обязан существовать в LDAP. Не исключаю, что в AD есть какая-либо альтернатива этому атрибуту. Остальные параметры необязательны.
_______________________
From Siberia with Love!
Winterheart, Спасибо
Winterheart,
Спасибо огромное!!!
Итак для тех кому интересно: Почтовый сервак на базе Exim и Courier-imap с авторизацией AD. Без всяких MySQL и т.п.
По настройке exim читаем здесь: http://www.opennet.ru/base/net/exim_ms_active_directory.txt.html
У себя я немного поправил запрос к LDAP (теперь он смотрит не заблокирован ли account)
# Макрос для организации запросов к LDAP-серверу.
LDAP_AD_MAIL_RCPT =\
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///domain,DC=com?mail?sub?\
(&\
(objectCategory=person)\
(objectClass=user)\
(!(UserAccountControl:1.2.840.113556.1.4.803:=2))\
(mail=${quote_ldap:${local_part}@${domain}}))
Courier-imap:
cat /etc/courier/authlib/authdaemonrc
authmodulelist="authldap"
authmodulelistorig="authldap"
daemons=5
DEBUG_LOGIN=0
LOGGEROPTS=""
cat /etc/courier/authlib/authldaprc
LDAP_URI ldap://dc.domain.com:3268, ldap://dc2.domain.com:3268
LDAP_PROTOCOL_VERSION 3
LDAP_BASEDN dc=domain,dc=com
LDAP_BINDDN cn=exim,cn=Users,dc=domain,dc=com << Специально заведенный юзер для доступа к LDAP
LDAP_BINDPW ************
LDAP_TIMEOUT 10
LDAP_AUTHBIND 1
LDAP_MAIL sAMAccountName
LDAP_FILTER (objectCategory=person)(objectClass=user)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))
LDAP_GLOB_UID mail
LDAP_GLOB_GID mail
LDAP_HOMEDIR sAMAccountName
LDAP_MAILROOT /var/spool/mail
LDAP_MAILDIR ./
LDAP_DEFAULTDELIVERY defaultDelivery
LDAP_FULLNAME cn
LDAP_CLEARPW clearPassword
LDAP_CRYPTPW userPassword
cat /etc/courier-imap/pop3d
PIDFILE=/var/run/pop3d.pid
MAXDAEMONS=100
MAXPERIP=4
POP3AUTH="LOGIN"
POP3AUTH_ORIG="PLAIN LOGIN"
POP3AUTH_TLS=""
POP3AUTH_TLS_ORIG="LOGIN PLAIN"
POP3_PROXY=0
PORT=110
ADDRESS=0
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=pop3d"
POP3DSTART=NO
MAILDIR=./
PRERUN=
LOGINRUN=
imap завелся вообще без настроек.