Кто-то уже изобрел это колесо. Это назвало lsyncd, и это - по-видимому, мэшап rsync и inotify. Я не использовал его сам, потому что ограничения inotify таковы, что это не масштабирует к действительно большому (и глубоко) каталоги. Я ожидаю, пока они не повторно реализуют его непосредственно использующий fsnotify.
Существует также PIrsyncD, который, кажется, делает то же самое.
Да, postfix отлично на это способен.
Взгляните на Postfix HOWTO:
http://postfix.state-of-mind.de/patrick.koetter / smtpauth /
и особенно:
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailclients.html
(эти две страницы связаны с довольно обширным официальным Postfix страница документации http://www.postfix.org/docs.html )
Для моего сервера конфигурация в master.cf
выглядит так:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
И main. cf содержит такую строку:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
В этом случае аутентификация включена только для портов отправки (587) и SMTPS (465).
Exim lets you set:
server_advertise_condition = ${if def:tls_cipher}
on an authentication driver, so it's only advertised/available within TLS.
Exim is very frequently used as a frontend gateway between MS mail servers and the open Internet; LDAP integration letting you query AD for address verification, authentication, etc; decent integration into various malware detectors, etc.
Похоже, что опция Postfix smtpd_tls_auth_only = yes - это именно то, что вы ищете. Он позволяет использовать SMTP AUTH только тогда, когда активирован TLS, который актуален только для порта 25.
http://www.postfix.org/SASL_README.html#id396969
http: // www. postfix.org/postconf.5.html#smtpd_tls_auth_only
Вы также можете сделать следующее, чтобы рекламировать tls только на определенных портах с exim4.
tls_advertise_hosts = 192.168.40.5:${if eq {$interface_port}{587} {*}{}}
Таким образом, только клиенты, подключающиеся из 192.168.40.5, а клиентам, подключающимся через порт 587, будет предлагаться tls. Пока ваши настройки аутентификации настроены на требование tls перед объявлением, только клиенты, использующие порт 587 с TLS, смогут использовать аутентификацию.