Чижиков Владимир описал процесс настройки Postfix с ограничением почтовых пересылок, для отдельных пользователей, только внутри одного или нескольких доменов. Приводятся два варианта настройки: списки пользователей и доменов в классических файлах и в MySQL базе.URL: http://www.opennet.me/base/net/postfix_per_user_acl.txt.html
Новость: http://www.opennet.me/opennews/art.shtml?num=4521
Н-да. Вот если бы Владимир написал про ограничения на прием почты для определенных пользователей...
>Н-да. Вот если бы Владимир написал про ограничения на прием почты для
>определенных пользователей...А что инвертирование sender/recipient для примеров в статье не подходит ?
Да, можно, вот только я столкнулся с тем, что иногда, не часто, но сервер начинает отказываться принимать входящие соединения и ругаться на ошибку конфигурации сервера - с обычными файлами не проверял, а только с mysql, так как все мои почтовики сейчас именно на них.
В общем ответ лежит на поверхности, но имеет ряд глюков и посему.... :(((
Разберусь - честное слово, напишу ;)))
А вот у меня на Postfix 2.1.5 приведенный уважаемым Владимиром способ не заработал. Зато отлично заработал пример из документации, вот в таком вот виде:/etc/postfix/main.cf
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/restricted_senders, permit_sasl_authenticated, permit_auth_destination, reject
smtpd_restriction_classes = local_only
local_only = check_recipient_access hash:/etc/postfix/local_domains, reject/etc/postfix/restricted_senders:
test@domain.com local_only
test@mail.domain.com local_only/etc/postfix/local_domains:
domain.com OK
mail.domain.com OK
И еще дополнительные ограничения на прием внешней почты для определенных адресов. В конкретном примере, пользователь с адресом test@domain.com имеет право на прием и передачу сообщений только в пределах domain.com. Ни написать на другие адреса, ни принять почту с них он не может. Остальные юзеры спокойно пишут куда хотят и получают почту с любых адресов.
Выглядит все это так:/etc/postfix/main.cf:
smtpd_recipient_restrictions = hash:/etc/postfix/protected_destinations, check_sender_access hash:/etc/postfix/restricted_senders, permit_sasl_authenticated, permit_auth_destination, reject
smtpd_restriction_classes = local_only, insiders_only
local_only = check_recipient_access hash:/etc/postfix/local_domains, reject
insiders_only = check_sender_access hash:/etc/postfix/local_domains, reject
В /etc/postfix/restricted_senders:test@domain.com local_only
test@mail.domain.com local_onlyВ /etc/postfix/local_domains:
domain.com OK
mail.domain.com OKВ /etc/postfix/protected_destinations:
test@domain.com insiders_only
test@mail.domain.com insiders_onlyИ не забыть потом:
postmap /etc/postfix/restricted_senders
postmap /etc/postfix/local_domains
postmap /etc/postfix/protected_destinations
postfix reloadВсе :) Думаю, что после некоторых правок будет работать и у пользующихся MySQL. Мне лично это не нужно.
Свои изменения в статью я вписал еще 20-го числа, в том числе с описанным способом. В виду загружености редактора ресурса статья не подверглась своевременным изменениям.
Что же касательно моего варианта, то не могу ничего добавить кроме того, что он у меня работает, но исключительно как ограничение на отправку почты в мир. Дополнительно к нему привязать ограничение на получение почты из мира мне, к сожалению, не удалось.
Что же до документации, то и тут я останусь при своем мнении - не все можно принимать сразу же на веру и нужно под рукой держать конфиг без изменений, что бы мгновенно все привести в исходное состояние. И внизу я не просто так сделал ссылки на документацию, то есть в случае если что-то не работает - вернитесь к первоисточнику и посмотрите.
Упс, прощу прощения, изменения в статье как-то пролетели мимо моего внимания :(
Прокомментироватьи дополнить твою статью меня побудило исключительно то, что нередко попадаются руководства из серии "доработать напильником под себя" - системы у всех хоть немного да отличаются, и иногда приходится поломать голову. Вот я и решился опубликовать то, что заработало у меня, чтобы кому-то в такой ситуации было чуть проще :).
Ничего страшного, я указал первый вариант, который мне просто более предпочтителен. Я прекрасно понимаю, что иногда что-то, что работает у меня, не всегда будет работать у другого - не хватает какого-то модуля, etc. То есть это вполне нормальная критика. Я бы наверное не добавил бы второй метод, если бы человек не попросил бы ограничение на получение почты из мира. Мне стало интересно и я основательно за этот вопрос взялся. И выяснил, что моя любимая конструкция несколько не фурычит в дополнительной конфигурации(разбор особо не помог), а вот другая работает без дополнительных напрягов.