Уважаемый All
Прошу ответить как (SendMail,FreeBSD) запретить пользователю отправлять сообщения во внешний мир, но оставить ему право работать с локальными адресами ?
Спасибо.
www# cat /etc/mail/access
# $FreeBSD: src/etc/mail/access.sample,v 1.1.2.2 2000/11/03 07:23:50 dirk Exp $
#
# Mail relay access control list. Default is to reject mail unless the
# destination is local, or listed in /etc/mail/local-host-names
#
#cyberspammer.com 550 We don't accept mail from spammers
#FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
#another.source.of.spam REJECT
#okay.cyberspammer.com OK
#128.32 RELAY
192.168.21 RELAY
~~~~~~~~~~~всей сети 192.168.21.0/24 разрешен релей~~~~~~~~~~~~~~~
www#
и
makemap hash access.db < accessЕсли исключить адрес отправителя из списка хостов которым разрешен релей то релей и будет запрещен, будет приниматься только почта, направляемая в локальные ящики.
Но тогда все машины для которых релей разрешен придется перечислить.
Если пользователь прыгает такой способ не поможет.
sendmail.cf
--start--
....
# users for local only
F{Internal}/etc/mail/intern.only
....
######################################################################
### check_rcpt -- check SMTP `RCPT TO:' command argument
######################################################################SLocal_check_rcpt
R$* $: $1 $| $>3 $&f
R$* $| <> $@ OK <> is always ok
R$* $| $={Internal} <@$=w.> $: $1 luser@local.host?
R$* $| $={Internal} $: $1 luser?
R$* $| $* $@ OK someone else
R$* $: $>3 $1 check recipient
R$+<@$=w.> $@ OK local? ok
R$+<@$+> $#error $@ 5.1.8 $: "551 sorry luser your boss does not like you"Scheck_rcpt
R$* $: $1 $| $>"Local_check_rcpt" $1
R$* $| $#$* $#$2
R$* $| $* $@ $>"Basic_check_rcpt" $1SBasic_check_rcpt
# check for deferred delivery mode
R$* $: < ${deliveryMode} > $1
R< d > $* $@ deferred
R< $* > $* $: $2
....
--end--и в /etc/mail/intern.only
просто перечисляешь акаунты пользователей которым нельзя
отправлять сообщения во внешний мир. Во внутреннем домене все продолжает ходить.
Правила скорей всего придется немного поправить (я правил только порядок следования команд)
А если пользователь поменяет в клиенте себе обратный адрес?
>А если пользователь поменяет в клиенте себе обратный адрес?
поставь аудентификацию smtp
Аутентификация не разделяет куда письмо наружу или внутри, она просто разрешает отправлять.
>Аутентификация не разделяет куда письмо наружу или внутри, она просто разрешает отправлять.
>
Вот именно, запрети отправку как я показал и защитись от смены почтового адреса аудентификацией smtp.