Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/10/2018, à 19:58

Daav

Postfix - utilisateurs non-unix vs virtuels

Bonjour,

Je sèche sur une configuration qui pourtant doit être simple:
Je sais utiliser postfix en local et même recevoir des mails de l'extérieur. Dans l'autre sens non mais chaque chose en son temps.
Je sais stocker des mails pour des utilisateurs virtuels et les domaines qui vont avec.
Ce que je voudrais moi, c'est avoir un "mydestination" avec mon p'tit domaine à-moi-que-je-l'ai-payé-alors-j'en-fais-ce-je-veux MAIS ne pas être obligé d'ajouter un compte Unix à chaque adresse mail "locale".

Pour mieux expliquer:
J'ai mon compte utilisateur à moi qui est vidda, donnant l'adresse vidda@domaine.tld
Comme on est plusieurs à la maison à se connecter au réseau, ça serait pas mal d'avoir les adresses
maman@domaine.tld
marmot@domaine.tld
lechat@domaine.tld
tablette@domaine.tld
... sans pour autant leur créer un compte à chacun.

J'ai essayé de bidouiller un truc avec local_recipient_maps mais apparemment c'est pas ça ou pas comme ça.

Alors du coup, est ce que ça vaut le coup de s’embêter comme ça?
Si oui, quelle est la solution? Je suis sûr que c'est un truc tout bête!
Si non, alors ne vaut-il pas mieux faire ça avec virtual et puis tant pis pour ma p'tite crise du consommateur indigné?

Les forums racontent tous la même chose, sans parler des tutos qui foirent pour la plupart... et puis il doit me manquer du vocabulaire pour une recherche google efficace.

So, please HELP

D'avance, Mille Merci messieurs dames

Hors ligne

#2 Le 06/10/2018, à 09:20

bruno

Re : Postfix - utilisateurs non-unix vs virtuels

Bonjour,

Tout est décrit dans la documentation officielle de postfix :
http://www.postfix.org/VIRTUAL_README.h … al_mailbox

Le plus simple est donc d'utiliser de simples fichiers texte (BerkeleyDB) pour les alias plutôt que les solution lourdes avec une base MySQL.
Je reproduis ici un exemple de configuration :

#emplacement global des boîtes virtuelles
virtual_mailbox_base = /srv/vmail

#emplacement par utilisateur:
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox

# domaine(s) virtuel(s)  (ne doivent pas être dans mydestination)
virtual_mailbox_domains = example.com

#utilisateur et groupe pour les utilisateurs/boîtes virtuelles
virtual_uid_maps = static:900
virtual_gid_maps = static:900

#alias pour les bopîtes virtuelles
virtual_alias_maps = hash:/etc/postfix/virtual_aliases

Avec virtual_mailbox :

bruno@example.com 		example.com/bruno
jeanne@example.com	example.com/jeanne
mohammed@example.com	    example.com/mohammed

et virtual_aliases :

root@example.com		bruno@example.com
webmaster@example.com  bruno@example.com
postmaster@example.com	bruno@example.com
abuse@example.com		bruno@example.com

Reste à gérer l’authentification des utilisateurs ce qui se fait assez simplement avec Dovecot et un fichier de mots de passes (chiffrés).

Dernière modification par bruno (Le 06/10/2018, à 09:22)

Hors ligne

#3 Le 06/10/2018, à 12:19

Daav

Re : Postfix - utilisateurs non-unix vs virtuels

Bonjour,

Merci pour cette réponse rapide. Elle répond à ce que je sais déjà, à ceci près que j'utilise mysql pour réutiliser la table des utilisateurs pour d'autres service genre ftp.

Pour le moment je fais avec "virtual" et j'attends... au cas où quelqu'un sache comment faire presque la même chose avec "local"

Hors ligne

#4 Le 06/10/2018, à 12:58

bruno

Re : Postfix - utilisateurs non-unix vs virtuels

Soit tu as des utilisateurs UNIX, soit tu as des utilisateurs non-UNIX et il faut utiliser les boîtes virtuelles (avec ou sans MySQL c'est la même chose à la base).

Maintenant un bricolage et sans doute possible avec local_recipient_maps (http://www.postfix.org/LOCAL_RECIPIENT_README.html) mais il faudra utiliser aussi des boîtes virtuelles avec un transport autre que local. Donc je ne vois pas bien l’intérêt si ce n'est de compliquer la configuration.

Hors ligne

#5 Le 11/10/2018, à 10:01

Daav

Re : Postfix - utilisateurs non-unix vs virtuels

Bonjour,

En effet, après quelques recherches, je me rend compte qu'effectivement virtual est encore ce qu'il y a de plus simple.

En revanche, cela m'amène à une autre question:

Admettons que je donne à postfix myhostname=mail.domain.lan (pour un réseau local, comme vous l'aurez compris).
j'aurais donc en local, pour l'utillisateur "local1" (compte UNIX) l'adresse user1@domain.lan (voire user1@mail.domain.lan). Jusque là pas de problème.

Pour un utilisateur virtuel "virtual1"rattaché à "domain2.tld", je préférerais passer par un host nommé mail.domain2.tld, ne serait-ce que pour une histoire de clarté et de logique pour les destinataires.
Comment faire pour accepter le hostname mail.domain2.tld? J'ai du mal à trouver la "virtual map" correspondante sur la doc.

En tout cas, merci beaucoup à Bruno pour ses réponses.

Hors ligne

#6 Le 11/10/2018, à 10:41

bruno

Re : Postfix - utilisateurs non-unix vs virtuels

Je ne comprends pas bien la question.
À partir du moment où tu es dans une configuration multi-domaines avec des utilisateurs virtuels et des domaines virtuels, myhostname n'est utilisé que pour les utilisateurs UNIX locaux et pour s'annoncer aux autres MTA (HELO/EHLO) * . Pour les utilisateurs virtuels c'est leur adresse avec leur nom de domaine qui est utilisée dans les en-têtes des courriels.

* Pour cette raison il est préférable d'avoir myhostname (ou smtp_helo_name) qui correspond à un FQDN (pas mal de MTA font des vérifications sur la validité du nom de domaine, les enregistrements A, MX et PTR, etc.)

Dernière modification par bruno (Le 11/10/2018, à 10:42)

Hors ligne

#7 Le 11/10/2018, à 11:16

Daav

Re : Postfix - utilisateurs non-unix vs virtuels

Tout à fait, c'est pourquoi j'ai bien mis myhostname avec le FQDN de mon domaine "publique" pour le moment.


Scenario:
Mettons que myhostname vale "mail.domainlocal"
J'ai un utilisateur virtuel "virtual1" sous le domaine "publicdomain.fr".
Un autre utilisateur virtuel "virtual2" sous le domaine "domaineaupif.com".

Je voudrais pouvoir "reconnaitre" les hôtes "mail.publicdomain.fr" et "mail.domaineaupif.com" de façon à ce que postfix ne rejette pas ces hôtes virtuels et les reconnait en tant qu'hôte qu'il héberge.

Et un extrait d'en-tête pour un mail envoyé:
Received: from publicdomain.fr (mail.publicdomain.fr. [xxx.xxx.xxx.xxx])
        by mx.tartampion.com blablabla

pour éviter:

Received: from publicdomain.fr (mail.domainlocal [10.0.0.1])
        by mx.tartampion.com

ce dernier pouvant être mal jugé par tartampion.com et qui manque de cohésion...


Mes essais m'ont donné des erreurs dans mail.log comme "en voilà un qui imite mon adresse" et "le mail part en mail.publicdomain.fr et revient en mail.localdomain. Je refuse le mail". (désolé pour la traduction simpliste, je n'ai pas les logs sous les yeux)

Il me semble que c'est virtual_transport qui gère ça mais je ne trouve pas d'exemple pour l'utiliser et la doc est plutôt avare.

Dernière modification par Daav (Le 11/10/2018, à 11:32)

Hors ligne

#8 Le 11/10/2018, à 12:27

bruno

Re : Postfix - utilisateurs non-unix vs virtuels

Peut importe ce qu'il y a dans cet en-tête du moment que c'est cohérent entre les noms de domaines et les IP (enregistrements DNS):

Received: from mail.publicdomain.fr (mail.publicdomain.fr. [xxx.xxx.xxx.xxx])

cela n'a aucun besoin de correspondre avec le domaine de l'expéditeur.

Les noms de domaines devraient être identiques et être un FQDN (ça doit correspondre à myorigin et myhostname dans postfix)
Les noms de domaines doivent être résolus en xxx.xxx.xxx.xxx
L'adresse IP xxx.xxx.xxx.xxx devraient être résolue (PTR, résolution inverse) en mail.publicdomain.fr
Pour un utilisateur toto@example.com, example.com doit avoir un enregistrement MX qui correspond à mail.publicdomain.fr et un enregistrement SPF du type "v=spf1 a mx ~all"

Hors ligne

#9 Le 17/10/2018, à 18:53

Daav

Re : Postfix - utilisateurs non-unix vs virtuels

Je n'ai pas réussi à me faire comprendre.
Enfin, comme tout le monde cette fois: solution de facilité:
myhostname = mail.mondomaine.tld
mydomain = mondomaine.tld
mydestination = localhost, mail.mondomaine.tld
virtual_mailbox_domains = mondomaine.tld

et je finirai bien par trouver

Hors ligne