sendmail - запретить принимать/отправлять почту
GNU/Linux, UNIX, Open Source → Программное обеспечение
доброго времени суток…
есть sendmail-8.13.4 на redhat-7.3 там крутится несколько виртуальных доменов. нужно решить следующую задачу. запретить отправлять почту с одного из виртуальных доменов (например example1.com) в мир (например example.tld)
посоветовали использовать check_compat с http://corvax.falbi.kiev.ua/sendmail-cf-8.12/hack/
http://corvax.falbi.kiev.ua/sendmail-cf-8.13/hack/
закачал необходимые: cfhead.m4 check_compat.m4 is_outgoing.m4
precheck_envelope.m4
в sendmail.mc добавил
HACK(`check_compat’)dnl
пересобрал sendmail.cf
стартую sendmail, в ответ получаю ошибку:
554 5.0.0 /etc/mail/sendmail.cf: line 1703: unknown configuration line «ifelse_strstr(confCHECK_OUTGOING_IN, LOCAL_HOST_NAMES, dnl»
554 5.0.0 /etc/mail/sendmail.cf: line 1708: unknown configuration line «)»
554 5.0.0 /etc/mail/sendmail.cf: line 1709: unknown configuration line «ifelse_strstr(confCHECK_OUTGOING_IN, RELAY_DOMAINS, dnl»
554 5.0.0 /etc/mail/sendmail.cf: line 1712: unknown configuration line «)»
554 5.0.0 /etc/mail/sendmail.cf: line 1713: unknown configuration line «ifelse_strstr(confCHECK_OUTGOING_IN, ACCESS_DB, dnl»
554 5.0.0 /etc/mail/sendmail.cf: line 1721: unknown configuration line «)»
если добавить в sendmail.mc еще HACK(`cfhead’)dnl
то получаю другую ошибку:
554 5.0.0 /etc/mail/sendmail.cf: line 200: readcf: map dulpat01: class regex not available
554 5.0.0 /etc/mail/sendmail.cf: line 202: readcf: map dulpat02: class regex not available
554 5.0.0 /etc/mail/sendmail.cf: line 203: readcf: map dulpat03: class regex not available
554 5.0.0 /etc/mail/sendmail.cf: line 205: Sequence map dulpat: unknown member map dulpat01
554 5.0.0 /etc/mail/sendmail.cf: line 205: Sequence map dulpat: unknown member map dulpat02
554 5.0.0 /etc/mail/sendmail.cf: line 205: Sequence map dulpat: unknown member map dulpat03
554 5.0.0 /etc/mail/sendmail.cf: line 214: readcf: map checkaddress_canonified: class regex not available
554 5.0.0 /etc/mail/sendmail.cf: line 219: readcf: map checkaddress: class regex not available
554 5.0.0 /etc/mail/sendmail.cf: line 225: readcf: map allnumbers: class regex not available
554 5.0.0 /etc/mail/sendmail.cf: line 226: readcf: map allnumbersdots: class regex not available
вот мой sendmail.mc, ткине плиз носом что не так… пробовал на разных версиях (8.12.11 & 8.13.4) ошибки одинаковые:
divert(-1)
divert(0)dnl
include(`/usr/src/sendmail-8.13.4/cf/m4/cf.m4\′)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $’)
OSTYPE(linux)dnl
define(`confDEF_USER_ID’,«25:25»)dnl
undefine(`UUCP_RELAY’)dnl
undefine(`BITNET_RELAY’)dnl
define(`confTO_CONNECT’, `1m’)dnl
define(`confTRY_NULL_MX_LIST’,true)dnl
define(`confDONT_PROBE_INTERFACES’,true)dnl
define(`PROCMAIL_MAILER_PATH’,`/usr/bin/procmail’)dnl
define(`ALIAS_FILE’, `/etc/mail/aliases’)dnl
define(`UUCP_MAILER_MAX’, `2000000\′)dnl
define(`confUSERDB_SPEC’, `/etc/mail/userdb.db’)dnl
define(`confPRIVACY_FLAGS’, `authwarnings,novrfy,noexpn,restrictqrun’)dnl
define(`confAUTH_OPTIONS’, `A’)dnl
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
define(`confAUTH_MECHANISMS’, `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
define(`CERT_DIR’, `MAIL_SETTINGS_DIR`’certs’)dnl
define(`confCACERT_PATH’, `CERT_DIR’)dnl
define(`confCACERT’, `CERT_DIR/CAcert.pem’)dnl
define(`confSERVER_CERT’, `CERT_DIR/client.pem’)dnl
define(`confSERVER_KEY’, `CERT_DIR/client_key.pem’)dnl
define(`confTO_IDENT’, `0s’)dnl
define(`confMAX_MESSAGE_SIZE’, `5120000\′)dnl
FEATURE(`no_default_msa’,`dnl’)dnl
FEATURE(`smrsh’,`/usr/sbin/smrsh’)dnl
FEATURE(`mailertable’,`hash -T -o /etc/mail/mailertable.db’)dnl
FEATURE(`virtusertable’,`hash -T -o /etc/mail/virtusertable.db’)dnl
FEATURE(`genericstable’,`hash -T -o /etc/mail/genericstable.db’)dnl
GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains’)dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail,`’,`procmail -t -Y -a $h -d $u’)dnl
FEATURE(`access_db’,`hash -T -o /etc/mail/access.db’)dnl
FEATURE(`blacklist_recipients’)dnl
HACK(`cfhead’)dnl
HACK(`check_compat’)dnl
EXPOSED_USER(`root’)dnl
dnl FEATURE(`relay_based_on_MX’)dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cw[…заменено…]
dnl define(`_FFR_MILTER’,1)dnl
MAIL_FILTER(`drweb-filter’, `S=inet:3001@localhost, F=T, T=S:240s;R:240s;E:1h’)dnl
MAIL_FILTER(`clmilter’,`S=local:/var/run/clamav/clmilter.sock,F=, T=S:4m;R:4m’)dnl
define(`confINPUT_MAIL_FILTERS’, `drweb-filter, clmilter’)dnl
define(`confMILTER_LOG_LEVEL’,`10\′)dnl
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Насколько видно из описания хаков для is_outgoing.m4, например, нужно задавать макрос confCHECK_OUTGOING_IN. В комментариях этот процесс подробно описан.