Доброго времени.
Есть необходимость запретить некоторым локальным пользователям отправку сообщений, т.е. только тем, кто дёргает бинарник /usr/sbin/exim4 (из php или как-то иначе, не важно), есть ли какие-то варианты организовать это на уровне ОС, или только непосредственно в самом exim?
Если только второй вариант, то подскажите пожалуйста, как так сделать, чтобы в определенном файлике могли лежать локальные юзеры по одному на строчку, а exim им запрещал бы отправку.
> Доброго времени.
> Есть необходимость запретить некоторым локальным пользователям отправку сообщений, т.е.
> только тем, кто дёргает бинарник /usr/sbin/exim4 (из php или как-то иначе,
> не важно), есть ли какие-то варианты организовать это на уровне ОС,
> или только непосредственно в самом exim?через права доступа получится заморочено и будет слетать при обновлениях, можете конечно попробовать через мандатный контроль.
> Если только второй вариант, то подскажите пожалуйста, как так сделать, чтобы в
> определенном файлике могли лежать локальные юзеры по одному на строчку, а
> exim им запрещал бы отправку.через condition определяется к кому применять правила acl, роутеры.
пару вариантов как залезть в файл можно подсмотреть
http://www.opennet.me/openforum/vsluhforumID1/90343.htmlа в документации наверно есть и более оптимальный вариант для Вас
1 >кто дёргает бинарник /usr/sbin/exim4
Никто бинарник не дергает , почитайте про Exim и вообще про SMTP2 /tmp/users
a@xxx.com
c@yyy.comв exim.conf в секции acl_smtp_rcpt
drop condition = ${lookup{$sender_address}lsearch*@{/tmp/users}{yes}{no}}
message = Deny send mail for $sender_address
> Доброго времени.
> Есть необходимость запретить некоторым локальным пользователям отправку сообщений, т.е.
> только тем, кто дёргает бинарник /usr/sbin/exim4 (из php или как-то иначе,
> не важно), есть ли какие-то варианты организовать это на уровне ОС,
> или только непосредственно в самом exim?
> Если только второй вариант, то подскажите пожалуйста, как так сделать, чтобы в
> определенном файлике могли лежать локальные юзеры по одному на строчку, а
> exim им запрещал бы отправку.
Дело в том, что на сервере почтовых ящиков как таковых вообще нет, локальные пользователи могут отправлять сообщения только через обращение к бинарнику exim4, например из php, если в php.ini заданоsendmail_path = "/usr/sbin/sendmail -t -i -f user@domain.com"
А /usr/sbin/sendmail это линк на /usr/sbin/exim4.
Вот меня и интересует тот факт, можно ли запретить отправку именно заданным локальным пользователям, а не по адресу отправителя, т.к. этот адрес может быть произвольным.
> Дело в том, что на сервере почтовых ящиков как таковых вообще нет,
> локальные пользователи могут отправлять сообщения только через обращение к бинарнику exim4,
> например из php, если в php.ini задано
> sendmail_path = "/usr/sbin/sendmail -t -i -f user@domain.com"
> А /usr/sbin/sendmail это линк на /usr/sbin/exim4.
> Вот меня и интересует тот факт, можно ли запретить отправку именно заданным
> локальным пользователям, а не по адресу отправителя, т.к. этот адрес может
> быть произвольным.acl_smtp_mail = check_smtp
acl_not_smtp = check_not_smtpcheck_smtp:
discard condition = ${if match_local_part{$authenticated_id}{lsearch;/usr/local/etc/exim/acl/blocked_senders} }
...check_not_smtp:
discard condition = ${if match_local_part{$authenticated_id}{lsearch;/usr/local/etc/exim/acl/blocked_senders}}
...И "враг" не пройдет :)
По smtp добавить авторизацию.
В файле "blocked_senders" - логины локальных юзеров.