[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

sendmail + ldap



Имеется связка sendmail + procmail + ldap + sasl + courier, постоянно, раз в несколько часов  происходит следующее:

появляется процесс sendmail который достает письмо из очереди и висит,  после этого все остальные процессы так же начинают себя вести - достают письмо и висят, все это происходит до тех пор пока я не сделаю
pkill sendmail
/etc/init.d/sendmail restart
после чего все нормально работает в течении 2-12 часов, пытался подключится к процессу через strace но там пусто
так же периодически замечаю что происходит отлуп на адреса которые существуют, с ошибкой что такого адреса нет


В логах появляется только вот это:
Jul  7 09:58:58 gate sm-mta[32617]: nss_ldap: reconnecting to LDAP server...
Jul  7 09:58:58 gate sm-mta[32617]: nss_ldap: reconnected to LDAP server after 1 attempt(s)

я начинал грешить на LDAP сервер, но заметил что  Courier в связке с LDAP на том же сервере отлично авторизирует и отдает почту, a nss резолвит пользователей :)

конфиги:


/etc/saslauthd.conf:
ldap_servers: ldap://127.0.0.1/
ldap_bind_dn: cn=admin,dc=IN
ldap_bind_pw: beke174ga
ldap_version: 3
ldap_search_base: dc=yy,dc=xx
ldap_scope: sub
ldap_timeout: 10
ldap_cache_ttl: 30
ldap_cache_mem: 32768
ldap_auth_method: custom
ldap_filter: uid=%U
ldap_password_attr: clearPassword


/etc/mail/sendmail.mc:
divert(-1)dnl
divert(0)dnl
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.13.4-1 2005-03-28 03:33:42 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
dnl undefine(`confHOST_STATUS_DIRECTORY')dnl        #DAEMON_HOSTSTATS=
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
dnl #
dnl # General defines
dnl #
dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot()
dnl #   into this directory before writing files.
dnl #   If *all* your user accounts are under /home then use that
dnl #   instead - it will prevent any writes outside of /home !
dnl #   define(`confSAFE_FILE_ENV',             `')dnl
dnl #
dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!!
dnl # Remove `, Addr=' clauses to receive from any interface
dnl # If you want to support IPv6, switch the commented/uncommentd lines
FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v6, Port=smtp, Addr=0.0.0.0')dnl
dnl DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=192.168.1.2')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, Addr=127.0.0.1')dnl
dnl # Override default authentication mechanisms
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl #
dnl # Be somewhat anal in what we allow
define(`confPRIVACY_FLAGS',dnl
`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl
dnl #
dnl # Define connection throttling and window length
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
dnl #
dnl # Features
dnl #
dnl # The access db is the basis for most of sendmail's checking
FEATURE(`access_db', , `skip')dnl
dnl #
dnl # The greet_pause feature stops some automail bots - but check the
dnl # provided access db for details on excluding localhosts...
FEATURE(`greet_pause', `1000')dnl 1 seconds
dnl #
dnl # Delay_checks allows sender<->recipient checking
FEATURE(`delay_checks', `friend', `n')dnl
dnl #
dnl # If we get too many bad recipients, slow things down...
define(`confBAD_RCPT_THROTTLE',`3')dnl
include(`/etc/mail/tls/starttls.m4')dnl
FEATURE(`virtusertable', `hash /etc/mail/virtusertable')dnl
VIRTUSER_DOMAIN_FILE(`/etc/mail/virtual-domains')dnl
FEATURE(`use_cw_file')dnl
FEATURE(`use_ct_file')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`local_no_masquerade')dnl
FEATURE(`nouucp', `reject')dnl
FEATURE(`mailertable')dnl
FEATURE(`domaintable')dnl
FEATURE(`smrsh')dnl
FEATURE(`local_procmail')dnl
FEATURE(`greet_pause', `10')dnl
Cwxxx.yyy
define(`LOCAL_MAILER_ARGS',`/usr/bin/procmail  -t -Y -a $h -d $u ')dnl
define(`confTO_IDENT', `0s')dnl
MAILER_DEFINITIONS
MAILER(smtp)dnl
MAILER(procmail)dnl
MAILER(local)dnl


у всех юзверей
.procmailrc
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR
VERBOSE=on
:0:
./



привер юзверя из LDAP
dn: uid=kda,ou=mailusers,dc=xxx,dc=yyy,dc=zzz
uid: kda
cn: XXX
sn: XXX
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: CourierMailAccount
shadowLastChange: 13129
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/false
uidNumber: 10011
gidNumber: 100
homeDirectory: /home/mailusers/k/kda
gecos: XXX,,,
mail: kda@xxx.yyy
displayName: ?????? ?????
userPassword: {CRYPT}XXXXXXXXXXXX


Reply to: