IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

postfix + ldap


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 179
    Par défaut postfix + ldap
    salut à tous !

    j'ai un serveur LDAP en 192.168.0.11/24 et j'ai mis mon serveur de mail dovecot/postfix sur 192.168.0.12/24

    je n'ai pas d'erreur pour m'authentifier avec dovecot, mais lors d'un envoi de mail avec postfix c'est un peu la cata car j'ai un retour de message d'erreur qui me dit que l'utilisateur est inconnu

    status=bounced (unknown user: [...] )

    je pense donc que l’authentification à du mal à se faire, ou qu'il me manque des trucs dans mon openLDAP, ou les deux.

    A l'origine, ça marchait quand tout était centralisé sur la même bécane, mais pour des soucis de sécurité, j'ai décidé de séparer LDAP et le système mail, résultat, dovecot tape dans le LDAP, postfix me pète à la gueule en disant que mon utilisateur est inconnu.

    Étant donné que je suis pas au top avec openLDAP, je viens vous demander votre aide !

    merci à tous par avance !

  2. #2
    Membre éclairé Avatar de wodel
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Par défaut
    Salut,

    Il faut vérifier que ton postfix arrive a se connecter sur ton ldap et qu'il exécute la bonne commande recherche (search), tu peux augmenter la verbosité de ton postfix dans le fichier main.cf, et redémarrer postfix ensuite

    par exemple

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 179
    Par défaut
    il ne se connecte pas à LDAP justement, dès que je sépare les services ça part en cacahouète donc augmenter le niveau de verbosité de logs ne changera rien à mon problème (malheureusement).


    j'ai lu plein de tutos où les gens parlent de domaines virtuels, de couplé ça avec LDAP, mais leur archi ne repose que sur un système centralisé et non pas séparé, et c'est là où ça merde pour moi (je pense)


    De plus, j'ai pu lire que si postfix va interroger LDAP, il faudrait que la recherche se fasse sur l'uid, donc que l'utilisateur crée soit en mode dn: uid=user et non pas dn: cn=user et là encore, je ne sais pas crée un utilisateur qui n'est que l'uid en recherche au lieu du cn :/

  4. #4
    Membre éclairé Avatar de wodel
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Par défaut
    Bein, tu as déjà trouvé le problème, essaye un ldapsearch depuis ton serveur postfix vers ton serveur ldap, afin de voir s'il est accessible, s'il n'est pas accessible, vérifie que ton ldap écoute sur l'interface réseau externe et pas uniquement en localhost, vérifie tes ACL de ton ldap, et vérifie si ton firewall (s'il y en a) est ouvert pour ldap.

    Si par contre ldapsearch fonctionne, le problème est dans ta configuration postfix, si tu peux poster tes fichiers de configuration, ainsi que ton schéma ldap.

    enfin concernant l'uid, je ne suis un expert ldap, mais je pense que tu peux utiliser cn au lieu de uid, c'est la requête de recherche que doit effectuer postfix qui doit être bien écrite.

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 179
    Par défaut
    ip LDAP : 192.168.0.11

    voici une réponse de mon ldapsearch :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    ldap:~# ldapsearch -x -b dc=srsi,dc=fr -D "cn=admin,dc=srsi,dc=fr" -W
    Enter LDAP Password:
    # extended LDIF
    #
    # LDAPv3
    # base <dc=srsi,dc=fr> with scope subtree
    # filter: (objectclass=*)
    # requesting: ALL
    #
     
    # srsi.fr
    dn: dc=srsi,dc=fr
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    o: srsi.fr
    dc: srsi
     
    # admin, srsi.fr
    dn: cn=admin,dc=srsi,dc=fr
    objectClass: simpleSecurityObject
    objectClass: organizationalRole
    cn: admin
    description: LDAP administrator
    userPassword:: root
     
    # Groups, srsi.fr
    dn: ou=Groups,dc=srsi,dc=fr
    objectClass: top
    objectClass: organizationalUnit
    ou: Groups
     
    # Domain Users, Groups, srsi.fr
    dn: cn=Domain Users,ou=Groups,dc=srsi,dc=fr
    objectClass: top
    objectClass: posixGroup
    gidNumber: 513
    cn: Domain Users
    description:: TmV0YmlvcyBEb21haW4gVXNlcnMg
     
    # paerrard, Groups, srsi.fr
    dn: uid=paerrard,ou=Groups,dc=srsi,dc=fr
    objectClass: inetOrgPerson
    objectClass: posixAccount
    objectClass: top
    givenName: pierre-antoine
    sn: errard
    cn: pierre-antoine errard
    uid: paerrard
    userPassword:: e01ENX1jSGlFazZrMVZwZXdndS9aaHVzTWdRPT0=
    uidNumber: 1000
    gidNumber: 513
    homeDirectory: /home/paerrard
     
    # search result
    search: 2
    result: 0 Success
     
    # numResponses: 6
    # numEntries: 5
    (ici je me suis amusé à renommer le cn/uid de moi même)


    une partie de mon fichier slapd.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # Schema and objectClass definitions
    include         /etc/ldap/schema/core.schema
    include         /etc/ldap/schema/cosine.schema
    include         /etc/ldap/schema/nis.schema
    include         /etc/ldap/schema/inetorgperson.schema
    (pas de schéma de mail donc)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ip postfix/dovecot : 192.168.0.12
    une requête avec dovecot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mail:~# telnet 127.0.0.1 143
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    * OK Server @ srsi.fr ready...
    a login paerrard motdepasse
    a OK Logged in.
    une requête avec postfix :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail:~# echo test |mail -s "test 1" paerrard
    le log en tail /var/log/syslog :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mar 29 19:59:29 mail postfix/local[2420]: 685E333FC4: to=<paerrard@srsi.fr>, orig_to=<paerrard>, relay=local, delay=0.16, delays=0.05/0.08/0/0.02, dsn=5.1.1, status=bounced (unknown user: "paerrard")
    fichier de conf postfix (enfin parties importantes) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    local_recipient_maps = ldap:/etc/postfix/ldap_local_recipient.cf, $alias_maps
    myhostname = mail.srsi.fr
    alias_maps = hash:/etc/postfix/aliases
    alias_database = hash:/etc/postfix/aliases
    myorigin = /etc/postfix/mailname
    mydestination = srsi.fr, mail.srsi.fr, localhost.srsi.fr, localhost
    fichier de conf ldap_local_recipient.cf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    server_host = 192.168.0.11
    server_port = 389
    search_base = dc=srsi,dc=fr
     
    # le %s signifie "adresse du destinataire telle que fourni par la commande "RCPT TO:"
    query_filter = (mail=%s)
    result_attribute = mail
    faut dire que là depuis que j'ai mis mon problème j'ai pas eu le temps de me re-pencher dessus.

    Je suis tombé sur quelques tutos qui parle de domaines virtuels avec un user 'vmail' qui s'occupe de récupérer tous les mails et de maper chaque user dans son folder.

    Enfin je tiens au jus. Si quelqu'un à une autre méthode que celle de passer par le coup des domaines virtuels etc je suis preneur !

    merci à tous pour l'aide !

  6. #6
    Membre éclairé Avatar de wodel
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Par défaut
    Salut,

    IL ne faut pas utiliser la variable local_recipient_maps tes comptes mails ne sont pas des comptes systèmes, ce sont de comptes virtuels.

    voici quelques indications (c'est juste un exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    virtual_alias_maps = ldap:/etc/postfix/ldap/ldap_aliases.cf
    virtual_mailbox_domains = domaine.com (si tu gère un seul domaine)
    virtual_mailbox_base = /var/vmail
    virtual_mailbox_maps = ldap:/etc/postfix/ldap/ldap_users.cf
    virtual_transport = dovecot
    virtual_uid_maps = static:vmail
    virtual_gid_maps = static:vmail
    et modifier ton master.cf en ajoutant une ligne avec la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dovecot   unix  -       n       n       -       -       pipe
      flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d
    ${recipient}
    PS: vmail, est un utilisateur système, qui a son home dans /var/vmail (home entièrement vide, et sans shell ni mot de passe), il va contenir toutes les boites mails des utilisateurs.

    modifie aussi ton fichier dovecot.conf (chgrp vmail)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    auth default {
            mechanisms = plain login
            passdb ldap {
                    args = /etc/dovecot_ldap/ldap.pass
            }
            userdb ldap {
                    args = /etc/dovecot_ldap/ldap.user
            }
            auth_user = nobody
            count = 1
            ssl_require_client_cert = no
            ssl_username_from_cert = no
            socket listen {
                    master {
                            path = /var/run/dovecot/auth-master
                            mode = 0660
                            user = vmail
                            group = vmail
                    }
                    client {
                            path = /var/run/dovecot/auth-client
                            mode = 0660
                            user = postfix
                            group = postfix
                    }
          }
    }
    Ce sont quelques idées, j'espère qu'elles vont aider

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. RHEL 5.4 configuration postfix-ldap-dovecot
    Par wodel dans le forum Réseau
    Réponses: 0
    Dernier message: 20/04/2010, 17h24
  2. Création compte postfix via LDAP
    Par Sieg Hart dans le forum Réseau
    Réponses: 0
    Dernier message: 26/05/2008, 17h19
  3. [postfix.spec] compiler pour ldap, sasl et tls.
    Par rvfranck dans le forum Administration système
    Réponses: 4
    Dernier message: 28/06/2007, 15h55
  4. Réponses: 2
    Dernier message: 10/01/2007, 01h06
  5. Configuration PostFix-LDAP
    Par xamxeladog dans le forum Réseau
    Réponses: 2
    Dernier message: 27/05/2005, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo