
En ocasiones necesitamos definir qué usuarios locales de un servidor pueden sacar correo y cuáles no. De esta forma, permitimos que puedan enviarse correo desde ese sistema (avisos, logs, etc.) pero impedimos en particular que un usuario determinado del sistema (por ejemplo www-data) pueda sacar correo descontroladamente (batched SMTP a través de una función de php5 o cualquier aplicación). Veremos cómo hacerlo con exim4 mediante el uso de ACLs.
El uso de las ACLs se define en
Para ello añadiremos una nueva ACL, llamada
#####################################################
### main/04_exim4-config_notsmtp
#####################################################
acl_not_smtp = acl_not_smtp
#####################################################
### end main/04_exim4-config_notsmtp
#####################################################
Seguimos editando
#####################################################
########### non-SMTP ACLs ###########################
#####################################################
# The non-SMTP ACLs apply to all non-interactive incoming messages,
# that is, they apply to batched SMTP as well as to non-SMTP (local)
# messages.
# This is used to determine whitelisted local senders.
# Local addresses listed in CONFDIR/local_senders_allow are allowed
# to send mail. - 20130724
acl_not_smtp:
accept
senders = lsearch;/etc/exim4/local_senders_allow
logwrite = :main: accepting local user
deny
message = "sender envelope address $sender_address is locally DENIED. If you think this is wrong, get in touch with sysadmin"
De esta forma exim4 aceptará (accept) correo saliente de cualquier usuario local contenido en la lista blanca que acabamos de definir (
Ahora debemos generar el fichero de configuración (hay que hacerlo siempre que modifiquemos la plantilla de configuración
# update-exim4.conf
Y reiniciamos el servicio:
# service exim4 restart
La lista blanca
# cat /etc/exim4/local_senders_allow
root@example.local
usuario1@example.local
En este caso, solo root y usuario1 podrá sacar correo de esa máquina.
Nota: No será necesario regenerar la plantilla ni reiniciar exim4 cada vez que modifiquemos este fichero de texto.
Conclusión: todo usuario local con la forma usuario@example.lan incluido en el fichero de texto
Publicado por flossystems el