Я сделала списки рассылки для sendmail, используя /etc/aliases. Но одна важная проблемка осталась нерешенной: хотелось бы, чтобы отправлять почту на адрес списка рассылки мог только привелигированный пользователь. Как это можно сделать?
ставь mailman или majordomo
>ставь mailman или majordomoа разве нельзя средствами самого sendmail`a задать для каждого конкретного списка почтовой рассылки своего привелигированного пользователя или группу пользователей (т.е. тех, кто имеет право посылать письма на адрес рассылки)?
>>ставь mailman или majordomo
>
>а разве нельзя средствами самого sendmail`a задать для каждого конкретного списка почтовой
>рассылки своего привелигированного пользователя или группу пользователей (т.е. тех, кто имеет
>право посылать письма на адрес рассылки)?можно, читай про разбор и написание правил, ну и пиши.
>можно, читай про разбор и написание правил, ну и пиши.
Я по-простому пробовала прописывать в /etc/access примерно такие правила:POLICY!list@domain.ru REJECT
admin@domain.ru!list@domain.ru ACCEPTперезапускала access командой:
makemap hash access < accessно это конечно не работает :-)
Не хотелось заморачиваться с редактированием sendmail.mc и sendmail.cf для работы этих файрволльных правил, но видимо без этого не обойтись?
>>можно, читай про разбор и написание правил, ну и пиши.
>Я по-простому пробовала прописывать в /etc/access примерно такие правила:
>
>POLICY!list@domain.ru
> REJECT
>admin@domain.ru!list@domain.ru ACCEPT
>
>перезапускала access командой:
>makemap hash access < access
>
>но это конечно не работает :-)
>Не хотелось заморачиваться с редактированием sendmail.mc и sendmail.cf для работы этих файрволльных
>правил, но видимо без этого не обойтись?Совершенно верно!
Чтоб вышеуказанные правила работали тоже нужно писать правила.
Вот была такая статья http://www.linux.org.ru/profile/_white/books/sendmail-firewa...
Очень близко по смыслу.Каюсь, сам не пробовал.
>Чтоб вышеуказанные правила работали тоже нужно писать правила.
>Вот была такая статья http://www.linux.org.ru/profile/_white/books/sendmail-firewa...в этой статье автор пишет файрволльные правила "в хвост sendmail.mc", но по синтаксису все эти правила похожи на содержимое файла sendmail.cf. Может в статье опечатка?
>>Чтоб вышеуказанные правила работали тоже нужно писать правила.
>>Вот была такая статья http://www.linux.org.ru/profile/_white/books/sendmail-firewa...
>
>в этой статье автор пишет файрволльные правила "в хвост sendmail.mc", но по
>синтаксису все эти правила похожи на содержимое файла sendmail.cf.
А на что же они должны быть похожи?:)>Может в статье опечатка?
Именно в этом месте?.. Не думаю. Хотя... А вы попробуйте! И нам расскажете потом:)
>>Чтоб вышеуказанные правила работали тоже нужно писать правила.
>>Вот была такая статья http://www.linux.org.ru/profile/_white/books/sendmail-firewa...
>
>в этой статье автор пишет файрволльные правила "в хвост sendmail.mc", но по
>синтаксису все эти правила похожи на содержимое файла sendmail.cf. Может в
>статье опечатка?sendmail.mc - это файл в специальном формате и обрабатывается впоследствии
препроцессором m4 (утилита такая), после обработки и создается файл
конфигурации sendmail.cf. Собственные правила пишутся и помещаются в
sendmail.mc в самом низу:------------------------- sendmail.mc-порядок ----------------------
divert(-1)
примечание
divert(0) (окончание необрабатываемой части)VERSIONID
OSTYPE
DOMAIN
dnl - это комментарий
FEATURE
dnl комментарий
local macro definitions
MAILER
LOCAL_CONFIG
LOCAL_RULE_*
LOCAL_RULESETS
------------------------------------------------------------------------------------------------- sendmail.mc-пример -------------------------
divert(-1)
include(`/usr/share/sendmail/m4/cf.m4')
#
# Sendmail 8.xx.x configuration file for domain.su
#divert(0)dnl
VERSIONID(`JINR: sunct0.mc lavr+vvm')
OSTYPE(openbsd)dnl - это комментарий
FEATURE(relay_entire_domain)
FEATURE(always_add_domain)
FEATURE(access_db)
FEATURE(mailertable)
FEATURE(virtusertable)dnl Use local-host-names instead sendmail.cw
FEATURE(`use_cw_file')
dnl LAVR - use blacklist for lock user via access.db
FEATURE(blacklist_recipients)dnl
FEATURE(notsticky)dnl
FEATURE(nouucp,reject)
FEATURE(`delay_checks')dnl - используем внешние free антиспам базы
FEATURE(`dnsbl', `relays.ordb.org', `Spam bloked - see http://ordb.org/')dnl
FEATURE(dnsbl,`list.dsbl.org', `Spam bloked - see http://dsbl.org/')dnl
FEATURE(dnsbl,`bl.spamcop.net', `Spam blocked - see http://spamcop.net/bl.shtml? $&{client_addr}')dnl
FEATURE(dnsbl,`ex.dnsbl.org', `Spam bloked - see http://www.dnsbl.org/')dnlMASQUERADE_AS(`domain.ru')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`no_default_msa')define(`confSMTP_LOGIN_MSG',`JINR-Net Antispam-MTA; "Non-authorized relaying DENIED." ')
define(`confPRIVACY_FLAGS',`authwarnings,noexpn,novrfy,nobodyreturn,noetrn,needmailhelo')dnl
define(`confNO_RCPT_ACTION', `add-to-undisclosed')dnl
define(`confMAX_MIME_HEADER_LENGTH', `256/128')dnldefine(`confEIGHT_BIT_HANDLING', `pass8')
define(`confMAX_MESSAGE_SIZE', `2000000')
define(`confMAX_RCPTS_PER_MESSAGE', `10')
define(`confMAX_HOP', `30')dnldnl Drop double bounce error message
define(`confDOUBLE_BOUNCE_ADDRESS', `')dnl
dnl Wait a day before sending mail about deferred messages
define(`confTO_QUEUEWARN', `1d')dnl
dnl Wait 5 days before giving up and bouncing the message
define(`confTO_QUEUERETURN', `5d')dnl
dnl Some overloaded issues
define(`confQUEUE_LA', `3')
define(`confREFUSE_LA', `5')
define(`confMAX_DAEMON_CHILDREN', `10')
define(`confCONNECTION_RATE_THROTTLE', `2')dnl HACK(require_rdns)dnl
MAILER(local)dnl
MAILER(smtp)dnldnl конфигурация для локальных правил
LOCAL_CONFIG
#
# Regular expression to reject:
# * numeric-only localparts from aol.com and msn.com
# * localparts starting with a digit from juno.com
# * localparts longer than 20 characters from aol.com
#
#--lavr, add some other *dialup*.com/net and etc below
Kcheckaddress regex -a@MATCH
^([0-9]+<@(aol|msn)\.com|[0-9][^<]*<@juno\.com|.{20}[^<]+<@aol\.com)\.?>#
# Names that won't be allowed in a To: line (local-part and domains)
#
#--lavr, add below something you needs
C{RejectToLocalparts} friend you user gluck
C{RejectToDomains} public.com the-internet.comdnl сами локальные правила
LOCAL_RULESETS
#
# Header checks
#
HTo: $>CheckTo
HMessage-Id: $>CheckMessageId
HSubject: $>Check_Subject
HX-Spanska: $>Spanska#
# Melissa worm detection (done in Check_Subject)
# See http://www.cert.org/advisories/CA-99-04-Melissa-Macro-Virus....
#
D{MPat}Important Message From
D{MMsg}This message may contain the Melissa virus; see http://www.cert.org/advisories/CA-99-04-Melissa-Macro-Virus....#
# ILOVEYOU worm detection (done in Check_Subject)
# See http://www.datafellows.com/v-descs/love.htm
#
D{ILPat}ILOVEYOU
D{ILMsg}This message may contain the ILOVEYOU virus; see http://www.datafellows.com/v-descs/love.htm#
# Reject some mail based on To: header
#
SCheckTo
R$={RejectToLocalparts}@$* $#error $: "553 Header error"
R$*@$={RejectToDomains} $#error $: "553 Header error"#
# Enforce valid Message-Id to help stop spammers
#
SCheckMessageId
R< $+ @ $+ > $@ OK
R$* $#error $: 553 Header Error#
# Happy99 worm detection
#
SSpanska
R$* $#error $: "553 Your system is probably infected by the Happy99 worm; see http://www.symantec.com/avcenter/venc/data/happy99.worm.html...#
# Check Subject line for worm/virus telltales
#
SCheck_Subject
R${MPat} $* $#error $: 553 ${MMsg}
RRe: ${MPat} $* $#error $: 553 ${MMsg}
R${ILPat} $#error $: 553 ${ILMsg}
RRe: ${ILPat} $#error $: 553 ${ILMsg}
-------------------------------------------------------------------------
может кто подскажет что бы это значило?
это в ответ на правила, приведенные в начале обсуждения.Sendmail запускается, но игнорирует новые правила.
Warning: OperatorChars is being redefined.
It should only be set before ruleset definitions.
Warning: OperatorChars is being redefined.
It should only be set before ruleset definitions.
Оказалось эту задачу гораздо проще решить с помощью procmail
может не так изящно, но работает.