Administration d'un serveur de mail Cyrus Postfix OpenLDAP

HOWTO Administration d'un serveur de mail Cyrus Postfix OpenLDAP

Introduction:

Un serveur de mail peut être composé de plusieurs couches logicielles. Dans notre cas, nous utilisons:

  • Cyrus : serveur d'accès à la messagerie, permet l'accès à la messagerie en utilisant les protocoles pop3 et imap (réception du courrier)
  • Postfix : serveur de messagerie, permet l'envoie de courrier via le protocole smtp (envoye de courrier)
  • OpenLDAP : annuaire électronique, permet de gérer la base des utilisateurs du serveur de mail.

Création d'un nouvel utilisateur:

L'ajout d'un nouvel utilisateur se passe en deux étapes:

  • ajout d'une nouvelle entrée dans l'annuaire électronique
  • création de la boîte au lettre pour le nouvel utilisateur

Pour ajouter un nouvel utilisateur dans un annuaire électronique, il faut éditer un fichier au format ldif. Par exemple, pour un utilisateur Jean Perez, cela donnerais ceci:

          $ cat Jean-Perez.ldif
          # entrée pour Jean Perez
          dn:uid=perez,ou=people,dc=praksys,dc=net
          objectClass: top
          objectClass: person
          objectClass: posixAccount
          objectClass: inetOrgPerson
          uid: perez
          givenName: jperez
          sn: jean
          cn: jean perez
          loginShell: /bin/bash
          uidNumber: 1100
          gidNumber: 544
          homeDirectory: /home/perez
          userPassword: xxx
          mail: perez@praksys.net

Une fois le fichier ldif créé, on l'ajoute à l'annuaire électronique avec la commande ldapadd et les options suivantes:

  • -D: dn, login de connexion, ici l'administrateur de l'annuaire
  • -w: le mot de passe
  • -x: le mécanisme d'authentification, ici authentification simple
  • -f: le fichier ldif à rajouter

ce qui donne:

          $ ldapadd -x -D cn=admin,dc=praksys,dc=net -w lemotdepass -f Jean-Perez.ldif
          adding new entry "uid=perez,ou=people,dc=praksys,dc=net"

On peut vérifier que l'entrée a bien été rajoutée avec la commande ldapsearch:

  • -b: la base de recherche dans l'annuaire
  • '(uid=perez)': le filtre de recherche
          $ ldapsearch -x -D cn=admin,dc=praksys,dc=net -w lemotdepass -b ou=people,dc=praksys,dc=net '(uid=perez)'
          # extended LDIF
          #
          # LDAPv3
          # base <ou=people,dc=praksys,dc=net> with scope subtree
          # filter: (uid=perez)
          # requesting: ALL
          #

          # perez, people, praksys.net
          dn: uid=perez,ou=people,dc=praksys,dc=net
          objectClass: top
          objectClass: person
          objectClass: posixAccount
          objectClass: inetOrgPerson
          uid: perez
          givenName: jperez
          sn: jean
          cn: jean perez
          loginShell: /bin/bash
          uidNumber: 1100
          gidNumber: 544
          homeDirectory: /home/perez
          userPassword:: eHh4
          mail: perez@praksys.net

          # search result
          search: 2
          result: 0 Success

          # numResponses: 2
          # numEntries: 1

Maintenant que nous avons rajouté notre nouvel utilisateur dans l'annuaire, il faut initialiser son mot de passe:

  • -S: propose un prompt
  • uid=perez,ou=people,dc=praksys,dc=net: le dn de notre utilisateur
          ldappasswd -x -D cn=admin,dc=praksys,dc=net -w lemotdepass  -S uid=perez,ou=people,dc=praksys,dc=net
          New password: xxxxxx
          Re-enter new password: xxxxxx
          Result: Success (0)

Maintenant, deuxième étape, il nous faut créer la BAL (boîte au lettre) de M. Perez à l'aide de l'outil cyradm. Cyradm ce présente comme un shell, pour obtenir de l'aide, tapez help:

  • -U: l'administrateur de cyrus
  • 127.0.0.1: l'adresse du serveur à administrer
          $ cyradm -U cyrusadmin 127.0.0.1
          IMAP Password: lemotdepass
          127.0.0.1> cm user/perez
          127.0.0.1> lm
          ...
          user/perez (\HasNoChildren)
          127.0.0.1> quit
  • cm ou createmailbox: créer une BAL
  • lm ou listmailbox: lister les BAL

Voilà, nous avons maintenant créé une BAL pour notre nouvel utilisateur Jean Perez.

Suppression d'un utilisateur:

Dans l'annuaire électronique, rien de plus simple avec la commande ldapdelete:

          $ ldapdelete -x -D cn=admin,dc=praksys,dc=net -w lemotdepass uid=perez,ou=people,dc=praksys,dc=net

Et dans cyrus:

          cyradm -U cyrusadmin 127.0.0.1
          IMAP Password: lemotdepass
          127.0.0.1> dm user/perez
          127.0.0.1> quit

  • dm ou deletemailbox: supprime une BAL

Voila, maintenant vous connaissez les rudiments nécessaire à l'administration d'un serveur de mail en ligne de commande. Dans un avenir proche, vous pourrez également utiliser l'interface d'administration LLazy qui est actuellement en cours de développement.

Pour en savoir plus:

pour tout commentaire écrire à mail


Personnes ayant contribué: cédric santran "csantran@praksys.org":mailto:csantran@praksys.org
Dernière modification lundi 16 avril 2007 20:51