http://linux.ufaras.ru/SendmailACL.html
-----------------------------------------
Политика: все, что не разрешено - запрещено
Задача.
1. Товарищ Иванов имеет право получать почту откуда угодно кроме почты, с почтового
домена mail.ru за исключением двух адресов этого домена - alfa@mail.ru & beta@mail.ru.
2. Группа group1 имеет право отправлять почту только на:
- почтовый домен filial1.ru
- адреса gamma@filial2.ru & delta@filial2.ru
3. Группе group2 разрешено получать почту только с почтового домена partner.ru
4. Списку рассылок dir_list запрещено получать извне (только из локальной сети)
В выбранной нами политике для этого не нужно прописывать запрет для dir_list в deny.
Запрет будет исполнен по умолчанию.
5. Всем разрешено получать единственную рассылку с прогнозом погоды от домена subscribe.ru.
6. Обязательно разрешим административным адресам (adm_group) получать почту извне и отправлять почту за пределы локальной сети.
Иначе рискуем попасть в списки rfc-ignorant (http://www.rfc-ignorant.org/policy-postmaster.php)
NotaBene! Так как в моем наборе правил предусмотрены только две группы, адм-группу
нужно добавить самостоятельно:
после LOCAL_CONFIG
F{Group3}/etc/mail/adm_group
И в CheckACL после правил с Group2 добавить такие же правила (всего их будет 5 штук),
заменив Group2 на Group3, а group2 на adm_group.
Решение.
## Файл /etc/mail/allow
## Локальный получатель (без домена) - внешний отправитель
#
To:ivanov:alfa<@mail.ru.> ALLOW
To:ivanov:beta<@mail.ru.> ALLOW
To:ivanov:all ALLOW
To:group2:<@partner.ru.> ALLOW
To:all:namma24882<@subscribe.ru.> ALLOW
To:adm_group:all ALLOW
#
## Локальный отправитель (без домена) - внешний получатель
#
From:group1:<@filial1.ru.> ALLOW
From:group1:gamma<@filial2.ru.> ALLOW
From:group1:delta<@filial2.ru.> ALLOW
From:adm_group:all ALLOW
## Файл /etc/mail/deny
## Локальный получатель (без домена) - внешний отправитель
#
To:ivanov:<@mail.ru.> DENY
#
## Локальный отправитель (без домена) - внешний получатель
#
Не забываем о командах
makemap hash allow