sendmail+access_db

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Аватара пользователя
Pilat
Advanced member
Сообщения: 117
Зарегистрирован: 23 июн 2004, 08:36
Откуда: Караганда

sendmail+access_db

Сообщение Pilat » 15 мар 2005, 11:44

FreeBSD 5.2.1
sendmail 8.13.3
Собираю конфиг (sendmail.cf) через m4
sendmail.mc содержит следующие строки

Код: Выделить всё

...
FEATURE(`use_cw_file')
FEATURE(access_db, `hash -o -T /etc/mail/access')
...
собираю makemap hash access<access
специально забиваю файл access.db строками типа
bla bla
Или еще лучше, просто убиваю файлы access и access.db
Перезапускаю sendmail никаких ошибок.
Почему sendmail не читает этот файл?

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+access_db

Сообщение corvax » 15 мар 2005, 14:36

Pilat писал(а):FreeBSD 5.2.1
sendmail 8.13.3
Собираю конфиг (sendmail.cf) через m4
sendmail.mc содержит следующие строки

Код: Выделить всё

...
FEATURE(`use_cw_file')
FEATURE(access_db, `hash -o -T /etc/mail/access')
...
собираю makemap hash access<access
специально забиваю файл access.db строками типа
bla bla
Или еще лучше, просто убиваю файлы access и access.db
Перезапускаю sendmail никаких ошибок.
Почему sendmail не читает этот файл?
потому, что читать sendmail его будет тогда, когда будет нужно выполнить лукап к access_db

в общем, делаем так, как принято во фре:

удаляем файл /etc/mail/access.db (не обязательно, но в свете забивания его "строками типа bla bla" лучше это сделать)
заполняем файл /etc/mail/access
в /etc/mail выполняем make maps

кстати, а для чего было упомянуто о use_cw_file?
--
/corvax

Аватара пользователя
Pilat
Advanced member
Сообщения: 117
Зарегистрирован: 23 июн 2004, 08:36
Откуда: Караганда

Сообщение Pilat » 15 мар 2005, 15:01

сделал как ты говорил

Код: Выделить всё

/etc/mail > make maps
/usr/sbin/makemap hash access.db < access
makemap: access.db: line 7: no RHS for LHS bla
*** Error code 65

Stop in /etc/mail.
Как проверить использует ли сендмейл файлы access, mailertable, virtusertable?
Последний раз редактировалось Pilat 15 мар 2005, 15:04, всего редактировалось 1 раз.

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 15 мар 2005, 15:03

Pilat писал(а):сделал как ты говорил

Код: Выделить всё

/etc/mail > make maps
/usr/sbin/makemap hash access.db < access
makemap: access.db: line 7: no RHS for LHS bla
*** Error code 65

Stop in /etc/mail.
Что дальше?
какое слово из сообщения об ошибке перевести?
кстати, надо бы выкинуть бред типа "bla" из /etc/mail/access

что там на 7-й строке?
--
/corvax

Аватара пользователя
Pilat
Advanced member
Сообщения: 117
Зарегистрирован: 23 июн 2004, 08:36
Откуда: Караганда

Сообщение Pilat » 15 мар 2005, 15:06

Мне ничего не надо переводить, эта ошибка не показатель того что сендмейл юзает этот файл.
в 7 строке как раз bla

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 15 мар 2005, 15:10

Pilat писал(а):Мне ничего не надо переводить, эта ошибка не показатель того что сендмейл юзает этот файл.
естественно
Pilat писал(а):в 7 строке как раз bla
так а в чем проблема тогда? выкидываем все невменяемые строки, потом выполняем make maps
--
/corvax

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 15 мар 2005, 15:11

Pilat писал(а):Мне ничего не надо переводить, эта ошибка не показатель того что сендмейл юзает этот файл.
в 7 строке как раз bla
Если вам не надо ничего переводить, то видимо вы должны понять, что процесс создания access базы был прерван в 7-й строке именно из-за ошибки в конфиге.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: sendmail+access_db

Сообщение Stranger03 » 15 мар 2005, 15:14

Pilat писал(а):Или еще лучше, просто убиваю файлы access и access.db
Перезапускаю sendmail никаких ошибок.
Почему sendmail не читает этот файл?
К слову сказать, ошибок при запуске сендмыла быть и не должно. Access база срабатывает тогда, когда происходит процедура отправки приема письма.

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Re: sendmail+access_db

Сообщение corvax » 15 мар 2005, 15:16

Stranger03 писал(а):
Pilat писал(а):Или еще лучше, просто убиваю файлы access и access.db
Перезапускаю sendmail никаких ошибок.
Почему sendmail не читает этот файл?
К слову сказать, ошибок при запуске сендмыла быть и не должно. Access база срабатывает тогда, когда происходит процедура отправки приема письма.
если быть точным, sendmail обращается к /etc/mail/access.db тогда, когда происходит запрос к map access
при большом желании можно оторвать sendmail'у желание туда лазить. но кому ж это надо :)
--
/corvax

Аватара пользователя
Pilat
Advanced member
Сообщения: 117
Зарегистрирован: 23 июн 2004, 08:36
Откуда: Караганда

Сообщение Pilat » 15 мар 2005, 15:21

Наверное я не правильно задал вопрос....
Попробуем еще раз. Я знаю как создать access.db, проблема не в этом.
Поправьте меня, если я ошибаюсь.
Эта база позволяет разрешать или запрещать принимать почту от различных доменов, тогда если я добавлю строку в access

Код: Выделить всё

localhost               REJECT
сделаю make maps
перезапущу сендмейл
зайду телнетом на это сендмейл (с той же машины, на котором висит сендмейл) и попытаюсь отправить почту, то получу отлуп?

Аватара пользователя
Pilat
Advanced member
Сообщения: 117
Зарегистрирован: 23 июн 2004, 08:36
Откуда: Караганда

Re: sendmail+access_db

Сообщение Pilat » 15 мар 2005, 15:22

Stranger03 писал(а):
Pilat писал(а):Или еще лучше, просто убиваю файлы access и access.db
Перезапускаю sendmail никаких ошибок.
Почему sendmail не читает этот файл?
К слову сказать, ошибок при запуске сендмыла быть и не должно. Access база срабатывает тогда, когда происходит процедура отправки приема письма.
я отправлял письмо

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 15 мар 2005, 15:25

Pilat писал(а):зайду телнетом на это сендмейл (с той же машины, на котором висит сендмейл) и попытаюсь отправить почту, то получу отлуп?
Теоретически да, если все правильно сконфигурировано.

P.S. не надо забывать делать makemap базы:
makemap hash access < access
Последний раз редактировалось Stranger03 15 мар 2005, 15:31, всего редактировалось 1 раз.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: sendmail+access_db

Сообщение Stranger03 » 15 мар 2005, 15:27

Pilat писал(а):я отправлял письмо
Следовательно делайте выводы, что где-то некорректно настроены разрешения. Если хотите помощи, дайте полный mc, посмотрим, что там не так.

P.S. есть еще один нюанс. Все файлы в каталоге /etc/mail должны принадлежать руту. Хотя вроде как сендмыл будет ругаться при старте, если что не так.

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 15 мар 2005, 15:33

Pilat писал(а):Наверное я не правильно задал вопрос....
Попробуем еще раз. Я знаю как создать access.db, проблема не в этом.
Поправьте меня, если я ошибаюсь.
Эта база позволяет разрешать или запрещать принимать почту от различных доменов, тогда если я добавлю строку в access

Код: Выделить всё

localhost               REJECT
сделаю make maps
перезапущу сендмейл
зайду телнетом на это сендмейл (с той же машины, на котором висит сендмейл) и попытаюсь отправить почту, то получу отлуп?
не факт. почта может быть прорилеена на основании как IP адреса или PTR записи рилея, так и на основании домена получателя (например, он находится в классе $w)

также проверка рилея в access_db может не выполняться при ${deliveryMode}, равном deferred

на самом деле можно все увидеть в выводе sendmail -bt -d21.12
--
/corvax

Аватара пользователя
Pilat
Advanced member
Сообщения: 117
Зарегистрирован: 23 июн 2004, 08:36
Откуда: Караганда

Сообщение Pilat » 15 мар 2005, 15:36

OSTYPE(freebsd5)dnl
DOMAIN(generic)dnl
FEATURE(`redirect')
FEATURE(`use_cw_file')
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
FEATURE(no_default_msa)dnl
DAEMON_OPTIONS(`Port=25,Name=MTA-IN,M=SE')
define(`confRUN_AS_USER',`mail:mail')dnl
define(`LOCAL_MAILER_FLAGS', `-d $u')
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamd/spamass-milter
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock,F=,
define(`confINPUT_MAIL_FILTERS', `spamassassin, clmilter')
define(`confMILTER_LOG_LEVEL',`6')
define(`confLOG_LEVEL',`9')
define(`confCW_FILE', `-o /etc/mail/local-host-names')
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')
define(`confMAX_RCPTS_PER_MESSAGE', `30')
define(`confMAX_MESSAGE_SIZE', `3072000')
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confPRIVACY_FLAGS',`noexpn,novrfy,authwarnings,noetrn,goaway')
define(`confMAX_MIME_HEADER_LENGTH', `256/128')
define('confNO_RCPT_ACTION','add-to-undisclosed')
define(`QUEUE_DIR', `/var/spool/mqueue-in')dnl
define(`confPID_FILE', `/var/run/sendmail-in.pid')dnl
MAILER(local)dnl
MAILER(smtp)dnl

Проблем с тем, что порождающийся сендмэйл работает от mail не может? Иначе он бы это писал....

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 24 гостя