OS: Fedora Core 7
Поставил Sendmail + SASLsaslauthd 2.1.22
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldapsendmail 8.14.2
cyrus-imapd
Вопрос следующий:
IMAP работает, происходит аутентификация, забирает почту с сервера.
При попытке отправить локальное сообщение (mail test), получаем следующие ошибки:SYSERR(root): makeconnection_ds: unsafe domain socket /var/imap/socket/lmtpd
stat=Deferred: Hard links not allowedКонфиги касательно вопроса:
/etc/mail/sendmail.cfMcyrusv2, P=[IPC], F=lsDFMnqXzA@/:|m,
S=EnvFromSMTP/HdrFromL, R=EnvToSMTP/HdrToL, E=\r\n,
T=DNS/RFC822/SMTP,
A=FILE /var/imap/socket/lmtpd
/etc/imapd.confconfigdirectory: /var/lib/imap
partition-default: /var/spool/imap
admins: cyradmin
sievedir: /var/lib/imap/sieve
sendmail: /usr/sbin/sendmail
hashimapspool: true
lmtpsocket: /var/imap/socket/lmtpd
sasl_saslauthd_path: /var/run/saslauthd/mux
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sasldb
sasl_mech_list: CRAM-MD5 LOGIN PLAIN
allowplaintext: yes
tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt/etc/cyrus.conf
lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtpd" prefork=0
Мне кажется, что что-то блочит lmtpd, так как присутствуют также такие сообщение при запуске inetd:
unable to create lmtpunix listener socket: Address already in useПомогите, пожалуйста.
>/etc/cyrus.conf
> lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtpd" prefork=0
>
>
>Мне кажется, что что-то блочит lmtpd, так как присутствуют также такие сообщение
>при запуске inetd:
>unable to create lmtpunix listener socket: Address already in uselmtpd стартуется master'ом демоном, а не inetd .
Потестируй соединение с lmtpd с помощью
lmtptest -m cram-md5 -a cyradmin hostnameЧто скажет?
>lmtpd стартуется master'ом демоном, а не inetd .у меня при запуске service cyrus-inetd start запускается master, и он по очереди начинает запускать все сервисы. в т.ч. и lmtp.
S: 220 web.server.com LMTP Cyrus v2.3.9-Fedora-RPM-2.3.9-7.fc7 ready
C: LHLO example.com
S: 250-web.server.com
S: 250-8BITMIME
S: 250-ENHANCEDSTATUSCODES
S: 250-PIPELINING
S: 250-SIZE
S: 250-STARTTLS
S: 250-AUTH PLAIN LOGIN CRAM-MD5
S: 250 IGNOREQUOTA
C: AUTH CRAM-MD5Please enter your password:
S: 235 Authenticated!
Я уже пытался сделать то же самое через telnet localhost lmtp. Оттуда и знаю что у меня работает по человечески lmtp.
Немного переформулировал вопросы:
1. Какой лучше использовать сокет на imapd? который lmtpunix или lmtp (т.е. тот который слушает порт или тот который обращается к директории /var/imap/socket/lmtpd). Должна ли существовать папка lmtpd? Либо linux сам создаст при подключении к сокету (пытался и так и так, не сработало)
2. Если мы используем lmtp socket для imapd, то каким образом заставить sendmail слушать не папку, а порт (пытался в конфиге написать A= TCP localhost:lmtp и по всякому разному, не понимает, говорит что не может соединиться, хотя я мог ошибиться в синтаксисе, подскажете?)
Jan 11 11:00:13 web sendmail[22260]: starting daemon (8.14.2): SMTP+queueing@01:00:00
Jan 11 11:00:13 web sm-msp-queue[22268]: starting daemon (8.14.2): queueing@01:00:00
Jan 11 11:00:13 web master[22271]: about to exec /usr/lib/cyrus-imapd/lmtpd
Jan 11 11:00:13 web lmtp[22271]: executed
Jan 11 11:00:13 web lmtp[22271]: accepted connection
Jan 11 11:00:13 web lmtp[22271]: connection from localhost.localdomain [127.0.0.1]
Jan 11 11:00:13 web sendmail[22261]: m0B8g7cE021783: to=<test@web.server.com>, delay=00:18:06, xdelay=00:00:00, mailer=cyrusv2, pri=390303, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: 430 Authentication requiredНаконец-то подключился сендмайлом к lmtp. Но теперь кто-то просит авторизации. Я по правде даже не могу понять кто это.. вроде sendmail... но как то странно...
у сендмыла в м4 скриптах была такая ошибка связанная с цирусом, он не тот путь до сокета подставлял
причем не помогало явное указание правильного пути с MC файле
пожтому каждый раз ручками правился sendmail.cf
может это именно те грабли:
путь до сокета
/var/lib/imap/socket/lmtp
>может это именно те грабли:
>путь до сокета
>/var/lib/imap/socket/lmtpага, я это тоже смотрел :) спасибо большое..
я использую сокет через A=TCP [127.0.0.1] lmtp а не через FILE.
Хотя если кто то научит как через файл, сделаю так (проблема в том, что при запуске imapd он говорит что адрес уже используется...)
>ага, я это тоже смотрел :) спасибо большое..
>я использую сокет через A=TCP [127.0.0.1] lmtp а не через FILE.
>Хотя если кто то научит как через файл, сделаю так (проблема в
>том, что при запуске imapd он говорит что адрес уже используется...)ну по конфигу не ясно что ты TCP используешь :)
Вот мой cyrus.conf:
===========================================
# standard standalone server implementationSTART {
# do not delete this entry!
recover cmd="ctl_cyrusdb -r"# this is only necessary if using idled for IMAP IDLE
# idled cmd="idled"
}# UNIX sockets start with a slash and are put into /var/lib/imap/sockets
SERVICES {
# add or remove based on preferences
imap cmd="imapd" listen="imap" prefork=5
imaps cmd="imapd -s" listen="imaps" prefork=1
pop3 cmd="pop3d" listen="pop3" prefork=3
pop3s cmd="pop3d -s" listen="pop3s" prefork=1
sieve cmd="timsieved" listen="sieve" prefork=0# these are only necessary if receiving/exporting usenet via NNTP
# nntp cmd="nntpd" listen="nntp" prefork=3
# nntps cmd="nntpd -s" listen="nntps" prefork=1# at least one LMTP is required for delivery
lmtp cmd="lmtpd -a" listen="lmtp" prefork=0
lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1# this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1
}EVENTS {
# this is required
checkpoint cmd="ctl_cyrusdb -c" period=30# this is only necessary if using duplicate delivery suppression,
# Sieve or NNTP
delprune cmd="cyr_expire -E 3" at=0400# this is only necessary if caching TLS sessions
tlsprune cmd="tls_prune" at=0400
}
lmtp cmd="lmtpd -a" listen="lmtp" prefork=0
lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1вопрос: что значит ключ -а.
И почему их два lmtp и lmtpunix:)
и как прописывать всё это в sendmail
и есть ли у тебя папка lmtp (существует или её создал линух сам)простите за обилие вопросов...
>lmtp cmd="lmtpd -a" listen="lmtp" prefork=0
>lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
>
>вопрос: что значит ключ -а.man lmtpd:
-a Preauthorize connections initiated on an internet socket,
instead of requiring LMTP AUTH. This should only be used for
connections coming from trusted hosts.
>man lmtpd:
>-a Preauthorize connections initiated on
> an internet socket,
>
> instead of requiring LMTP AUTH.
>This should only be used for
>
> connections coming from trusted hosts.да, именно с этим у меня и была проблема...
вроде начало работать)Jan 11 11:52:14 web master[22785]: about to exec /usr/lib/cyrus-imapd/lmtpd
Jan 11 11:52:14 web lmtpunix[22785]: executed
Jan 11 11:52:14 web lmtpunix[22785]: accepted connection
Jan 11 11:52:14 web lmtpunix[22785]: lmtp connection preauth'd as postman
Jan 11 11:52:14 web lmtpunix[22785]: verify_user(user.root) failed: Mailbox does not exist
Jan 11 11:52:14 web sendmail[22784]: m0B9qEXU022784: to=<root@web.server.com>, delay=00:00:00, xdelay=00:00:00, mailer=cyrusv2, pri=31537, relay=localhost, dsn=5.1.1, stat=User unknown
Jan 11 11:52:14 web sendmail[22784]: m0B9qEXU022784: m0B9qEXV022784: return to sender: User unknown
Jan 11 11:52:14 web lmtpunix[22785]: verify_user(user.postmaster) failed: Mailbox does not exist
Jan 11 11:52:14 web sendmail[22784]: m0B9qEXV022784: to=postmaster, delay=00:00:00, xdelay=00:00:00, mailer=cyrusv2, pri=32561, relay=localhost [[UNIX: /var/lib/imap/socket/lmtpd]], dsn=5.1.1, stat=User unknown
Jan 11 11:52:14 web sendmail[22784]: m0B9qEXU022784: Losing ./qfm0B9qEXU022784: savemail panic
Jan 11 11:52:14 web sendmail[22784]: m0B9qEXU022784: SYSERR(root): savemail: cannot save rejected email anywhereмммм(( только вот такие ошибки возникли почемуто(((
>Jan 11 11:52:14 web sendmail[22784]: m0B9qEXU022784: m0B9qEXV022784: return to sender: User unknown
>
>Jan 11 11:52:14 web lmtpunix[22785]: verify_user(user.postmaster) failed: Mailbox does not exist
>Jan 11 11:52:14 web sendmail[22784]: m0B9qEXV022784: to=postmaster, delay=00:00:00, xdelay=00:00:00, mailer=cyrusv2, pri=32561, relay=localhost
>[[UNIX: /var/lib/imap/socket/lmtpd]], dsn=5.1.1, stat=User unknown
>Jan 11 11:52:14 web sendmail[22784]: m0B9qEXU022784: Losing ./qfm0B9qEXU022784: savemail panic
>Jan 11 11:52:14 web sendmail[22784]: m0B9qEXU022784: SYSERR(root): savemail: cannot save rejected email
>anywhere
>
>мммм(( только вот такие ошибки возникли почемуто(((По умолчанию у Вас вся почта передается mailer=cyrusv2 .
Думаю, что imap ящиков user.postmaster и user.root действительно не существует.Проверьте командой типа
su -l cyrus -c '/usr/lib/cyrus-imapd/ctl_mboxlist -d'
да, я защел в cyradm и сразу проверил, тогда ящиков еще не было. сразу же их создал:
postmaster 0 default anyone lrs
root 0 default anyone lrs
test 0 default anyone lrs
test1 0 default anyone lrsпросто по логу он не видит test(((
а потом уже начинает пытаться отправить root и postmaster.
скажите, нужно ли что-то прописывать в aliases или virtusertable?
>просто по логу он не видит test(((
>а потом уже начинает пытаться отправить root и postmaster.
>скажите, нужно ли что-то прописывать в aliases или virtusertable?aliases и virtusertable не меняют локальный мейлер по умолчанию.
прошу прощения за глупость
создавал пользователей командой
cm test
вместо
cm user.testеще раз прошу прощения.
вроде сообщения начали доставлятся.единственный вопрос остался:
в saslpasswd2 создавать пользователя test или user.test
и на imap клиенте прописывать которого из них?.. так как на test ничего не пришло(
>единственный вопрос остался:
>в saslpasswd2 создавать пользователя test или user.test
>и на imap клиенте прописывать которого из них?.. так как на test
>ничего не пришло(Судя по вашей логике, user.test - это imap ящик.
Пользователь test - это бюджет для аутентификации.Поэтому надо дать права доступа пользователю test , к ящику user.test .
Последнее, определитесь с механизмом аутентификации sasl v2.
>Судя по вашей логике, user.test - это imap ящик.
>Пользователь test - это бюджет для аутентификации.
>Поэтому надо дать права доступа пользователю test , к ящику user.test .
>Последнее, определитесь с механизмом аутентификации sasl v2.вроде разобрался :) заработало!)))
спасибо огромное!)
Mar 12 20:08:39 mail03 master[2903]: process 5017 exited, status 0
Mar 12 20:08:46 mail03 postfix/smtpd[4982]: connect from fallback5.mail.ru[94.100.176.59]
Mar 12 20:08:47 mail03 postfix/smtpd[4982]: warning: unknown smtpd restriction: "permit_sasl_autheOCnticated"
M"ar 12 20:08:47 mail03 postfix/smtpd[4982]: NOQUEUE: reject: RCPT from fallback5.mail.ru[94.100.176.59]: 451 4.3.5 Server configuration error; from=<datskiydude@mail.ru> to=<tankhaevop@r03.mymail.ru> proto=ESMTP helo=<fallback5.mail.ru>Mar 12 20:08:48 mail03 postfix/cleanup[4986]: 1C7951750213: message-id=<20120312120848.1C7951750213@mail03.mymail.ru>
Mar 12 20:08:48 mail03 postfix/smtpd[4982]: disconnect from fallback5.mail.ru[94.100.176.59]
Mar 12 20:08:48 mail03 postfix/qmgr[3868]: 1C7951750213: from=<double-bounce@mail03.mymail.ru>, size=1027, nrcpt=1 (queue active)
Mar 12 20:08:48 mail03 lmtpunix[5118]: accepted connection
Mar 12 20:08:48 mail03 lmtpunix[5118]: lmtp connection preauth'd as postman
Mar 12 20:08:48 mail03 lmtpunix[5118]: verify_user(user.root) failed: Mailbox does not exist
Mar 12 20:08:48 mail03 master[5135]: about to exec /usr/lib/cyrus-imapd/lmtpd
Mar 12 20:08:48 mail03 postfix/lmtp[4989]: 1C7951750213: to=<root@mail03.mymail.ru>, orig_to=<postmaster>, relay=mail03.mymail.ru[/var/lib/imap/socket/lmtp]
Mar 12 20:08:48 mail03 postfix/bounce[5001]: warning: 1C7951750213: undeliverable postmaster notification discarded"перестали приходить сообщения с внешки , в чем может быть проблема?
вот