Retourner en haut de la page Aller au bas de la page
Logo de mon site
Logo de mon site

Yasser Arafat

Item 1 Description

Yasser Arafat

Hugo Chávez

Item 1 Description

Hugo Chávez

Mikhaïl Gorbatchev

Item 1 Description

Mikhail Sergueievitch Gorbatchev

L'Abbé Pierre

Item 1 Description

Abbe Pierre

Salvadore Allende

Item 1 Description

Salvadore Allende

Angela Yvonne Davis

Item 1 Description

Angela Yvonne Davis

Jean Moulin

Item 1 Description

Jean Moulin

Nelson Mandela

Item 1 Description

Nelson Mandela

Martin Luther King

Item 1 Description

Martin Luther King

Gamal Abdel Nasser

Item 1 Description

Gamal Abdel Nasser

Richard Stallman

Item 1 Description

Richard Stallman

Simone Veil

Item 1 Description

Simone Veil

Hand Shake

Item 1 Description

Hand Shake

Wangari Muta Maathai

Item 1 Description

Wangari Muta Maathai

Michel Colucci

Item 1 Description

Coluche

Mère Teresa

Item 1 Description

Mère Térésa

Charles de Gaulle

Item 1 Description

Charles de Gaulle

Che Guevara

Item 1 Description

Ernesto Rafael Guevara

Mohandas Gandhi

Item 1 Description

Mohandas Karamchand Gandhi

Lech Walesa

Item 1 Description

Lech Walesa

Linus Benedict Torvalds

Item 1 Description

Linus Benedict Torvalds

Sous-commandant Marcos

Item 1 Description

Sous commandant Insurge Marcos

Ahmed Shah Massoud

Item 1 Description

Ahmed Shah Massoud

Luxpopuli / Internet / Postfix + Cyrus IMAP + SSL + LDAP / Cyrus IMAP : installer cyrus imap





Right menu

OBLIGATOIRE

Un professeur témoigne

La brigade canine dans un collège du Gers.
Réaction d'une internaute Québécoise:
«quand on est rendu à accepter que (...) les autorité mettent leurs sales pattes dans les culottes de vos enfants (...) il est temps (...) de vous réveiller.»
OBLIGATOIRE

Les mensonges de R. Dati

La note de recadrage statistique du sociologue L. Mucchielli recadre également les mensonges de la propagande sécuritaire dont on nous rabat les oreilles depuis déjà trop longtemps et dont les mineurs de France sont à présents la cible.
Le rapport de L. Mucchielli
OBLIGATOIRE

L'aveu de Jean-Marc Sylvestre

«Le système financier s'effondre aujourd'hui comme un jeu de carte... parce que... il a été géré d'une part.... par les États-Unis sans règle... et il a été d'autre part géré... par une bande de voyous... qui se sont gouinfrés... au détriment des autres.»
VOIR LES VIDÉOS

OBLIGATOIRE

prev prev prev prev


Cyrus IMAP : installer cyrus imap

Date de publication: le vendredi 11 mai 2007 à 13h59
Dernière modification: par Pascal BOYER le mercredi 26 septembre 2007 à 08h23
» Article suivant: Cyrus IMAP : le fichier cyrus.conf

Avant propos

Il n’est pas facile de déterminer par quoi commencer: Postfix/Cyrus-IMAP ou Cyrus-IMAP/Postfix ?

Et puis sur quels critères fonder son choix? L’un comme l’autre, seul, ne sert à rien (sauf Postfix en tant que relais/passerelle) !

Alors aléa jacta est : va pour Cyrus.

Mais, comme en définitive, rien n’est du au hasard, voici pourquoi ce serveur est ainsi nommé:

Ce, qui retranscrit en termes informatiques, peut donner ceci:

Cyrus-IMAP se caractérise par sa capacité d’intégration et de tolérance envers la multitude de composants qui peuvent former l’ensemble du serveur de mail ;-)

En tout cas, j’aime à penser que ce sont là les raisons qui ont prévalu au choix d’un tel nom par les créateurs de ce logiciel.

Contexte de l’installation

Pour autant, et quand bien même votre environnement "réseau" serait plus complexe que le mien, je pense que vous devriez trouver dans ces différents articles suffisamment d’explications concernant les règles des fichiers /etc/postfix/main.cf , /etc/postfix/master.cf , /etc/cyrus.conf et /etc/imapd.conf pour adapter vos fichiers de configuration à vos besoins.

Je tiens tout de même à préciser que mon serveur de mail gère sans aucune difficulté les 500 mails (minimum) que je reçois quotidiennement de la dizaine de mailing-list auxquelles je suis abonné, mais surtout, qu’avec la configuration du fichier /etc/postfix/main.cf présentée ici et sans aucun autre logiciel anti-spam, je ne reçois pas plus de 3-4 spams par jour.

Cela dit, comme vous pourrez vous en rendre compte, je n’ai fait aucune concession lors de la configuration des règles prévues pour que Postfix se montre permissif à l’égard des produits M$ et autres logiciels mals écrits ou ne respectant pas les standards.

Enfin, j’ai une règle de rejet des fichiers attachés qui refuse quasiment tous les formats de fichier. Je pense que je dois à cette règle agressive le peu de spam que je reçois.

Bien évidemment, je suis très loin de l’exhaustivité dans ma présentation d’une configuration d’un serveur de mail, aussi je vous enjoins de vous reporter à l’excellent site de Xavier Guimard qui n’est rien d’autre que la traduction française du site officiel de Postfix.

Cyrus-IMAP

  • du serveur imapd / imaps Cyrus-IMAP,
  • de la bibliothèque SASL pour l’authentification des utilisateurs,
  • de la bibliothèque OpenSSL pour la création de l’AC et des certificats.

Pourquoi choisir le protocol IMAP:

  • IMAP est l’acronyme d’ I nternet M essage A ccess P rotocol.
  • Un serveur IMAP écoute sur le port 143 ou 993 lorsque son accès est sécurisé avec TLS.
  • Le logiciel serveur qui tourne s’appelle imapd ou imaps est c’est ainsi qu’ils sont désignés par la suite.
  • IMAP permet de stocker les mails, sur le serveur, de façon hiérarchique, de les classer, de les trier et d’en voir les fichiers attachés sans devoir les rapatrier en local.
  • IMAP permet donc de consulter ses mails de n’importe où même après les avoir déjà lus.
  • IMAP permet de créer, supprimer, ajouter des BàL.
  • IMAP permet de définir des flags qui spécifient l’état d’un mail: lu, non lu, important, répondu, non répondu, etc...
  • IMAP permet de faire des recherches avancées dans les BàL à partir de nombreux critères de recherche.
  • IMAP supporte le mode "online" et "offline".
  • IMAP permet un accès simultané à une boite aux lettres (BàL) partagée.
  • IMAP est indépendant du format de stockage des messages ( MailDir, Mailbox, binaire ou base de données).
  • IMAP est un protocole en mode connecté .

Cyrus-IMAP:

Cyrus-IMAP est un MDA: M ail D elivery A gent/ Agent de Livraison de Mail.

Mais Cyrus-IMAP implémente également ces deux protocoles: POP ( P ost O ffice P rotocol) et NNTP ( N etwork N ews T ransfert P rotocol).

D’autre part, il apporte, par rapport au protocole IMAP standard, la possibilité d’authentifier des utilisateurs n’ayant pas de compte UNIX sur le serveur. Ces comptes sont appelés: Comptes virtuels .

C’est Cyrus-IMAP qui va recevoir les mails locaux, gérer les BàL des utilisateurs et servir à ces derniers leurs messages via le protocole IMAP (ou POP3 mais il ne nous intéresse pas ici).

  • Cyrus-IMAP, pour authentifier les clients, s’appuie sur SASL (que je décris plus loin) évitant ainsi la création de comptes UNIX sur le serveur .
  • Cyrus-IMAP supporte donc tous les mécanismes d’authentification proposés par le protocole d’authentification SASL, à savoir:
    • sasldb, getpwent, kerberos4, kerberos5, pam, rimap, shadow, ldap
  • Cyrus-IMAP utilise le format Maildir , plus souple et plus sûr que Mailbox .
  • Cyrus-IMAP permet de gérer une arborescence de BàL multi-niveaux.
  • Cyrus-IMAP permet, depuis la version 2.x, de gérer des noms d’utilisateurs et de répertoires contenant des points "." en remplaçant le séparateur de hiérarchie d’origine (le point, justement) par le séparateur standard d’UNIX (le "slash" /).
  • Cyrus-IMAP permet la création de filtres qui rejetteront les messages jugés indésirables.
  • Cyrus-IMAP permet l’accès aux BàL de façon très souple, lorsqu’il y a plusieurs serveurs dans le même domaine.
  • Cyrus-IMAP est aussi capable de proposer une structure permettant d’exposer des groupes usenet (nntp).
  • Cyrus-IMAP sait gérer les dossiers partagés !

Installer cyrus-imap

1°/ Définir le nom de la machine:

La première chose à faire est de définir un FQDN pour la machine qui hébergera le serveur imapd Cyrus-IMAP. (reportez-vous à la règle relayhost = dans l’article Postfix: "main.cf" pour configurer tout de même votre serveur Postfix si vous n’avez pas de nom de domaine).

Il existe de nombreuses sociétés sur internet auprès desquelles on peut acheter un nom de domaine. Il est prudent de faire quelques recherches et comparaisons de prix et services proposés par ces sociétés. En effet, les prix semblent être tout à fait aléatoires !

cat /etc/hosts

### etherconf DEBCONF AREA. DO NOT EDIT THIS AREA OR INSERT TEXT BEFORE IT.

127.0.0.1       localhost
::1             ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
ff02::3         ip6-allhosts

### END OF DEBCONF AREA.  PLACE YOUR EDITS BELOW; THEY WILL BE PRESERVED.

82.67.66.131    euphorie  euphorie.linuxorable.fr

et:

cat /etc/hostname

euphorie.linuxorable.fr

2°/ Installer SASL et Cyrus21-IMAP:

Voici la liste des packages relatifs à Cyrus-IMAP que j’installe:

cyrus21-admin cyrus21-clients cyrus21-common cyrus21-imapd libauthen-sasl-cyrus-perl libcyrus-imap-perl21 

Et voici celle des packages relatifs à SASL que j’installe également:

libsasl2 sasl2-bin libauthen-sasl-perl libsasl2-modules 

Ces packages (qui sont ceux de la version unstable (i.e: Sid de debian) s’installent bien évidemment avec la commande ~# apt-get install (ou avec le frontend Synaptic).

Donc, pour ne pas avoir de message d’erreur à propos de dépendences non résolues, la première commande à lancer est celle-ci:

apt-get install cyrus21-admin cyrus21-clients cyrus21-common cyrus21-imapd libauthen-sasl-cyrus-perl libcyrus-imap-perl21 libsasl2 postfix

puis on poursuit avec:

apt-get install sasl2-bin libauthen-sasl-perl libsasl2-modules

Donc, au final, on doit avoir ces packages d’installés:

dpkg -l ’*cyrus*’ ’*sasl*’ ’*postfix*’

Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: majuscule=mauvais)
||/ Nom                           Version      Description
+++-=============================-============-============
ii  cyrus21-admin                 2.1.17-3     Cyrus mail system (administration tool)
ii  cyrus21-clients               2.1.17-3     Cyrus mail system (test clients)
ii  cyrus21-common                2.1.17-3     Cyrus mail system (common files)
ii  cyrus21-imapd                 2.1.17-3     Cyrus mail system (IMAP support)
ii  libauthen-sasl-cyrus-perl     0.07-1       Perl extension for Cyrus SASL library
ii  libcyrus-imap-perl21          2.1.17-3     Interface to Cyrus imap client imclient library
ii  libauthen-sasl-cyrus-perl     0.07-1       Perl extension for Cyrus SASL library
ii  libauthen-sasl-perl           2.08-1       Authen::SASL - SASL Authentication framework
ii  libsasl2                      2.1.19-1.5   Authentication abstraction library
ii  libsasl2-modules              2.1.19-1.5   Pluggable Authentication Modules for SASL
ii  sasl2-bin                     2.1.19-1.5   Programs for manipulating the SASL users database
ii  postfix                       2.1.5-5      A high-performance mail transport agent

... et on arrête Postfix et Cyrus-IMAP:

/etc/init.d/postfix stop

/etc/init.d/cyrus21 stop

3°/ Ce qui est installé:

Le package cyrus21-admin installe LE fichier (binaire) qui permet la gestion des comptes IMAP:

dpkg -L cyrus21-admin

...]
/usr/bin/cyradm
[...]

Le package cyrus21-imapd installe ces 3 fichiers importants:

dpkg -L cyrus21-imapd

[...]
/usr/sbin/squatter   <=== L'indexeur de mails de Cyrus pour réduire le temps de recherche.
/usr/lib/cyrus/bin/imapd    <=== le "daemon" imapd géré par le "super daemon" (inetd ou xinetd)
/etc/pam.d/imap        <=== Un fichier de configuration pour l'authentification par PAM
[...]

Le package sasl2-bin installe ces fichiers importants:

dpkg -L sasl2-bin

[...]
/usr/sbin/saslauthd         <==== c'est le daemon lancé par /etc/init.d/saslauthd en fin de liste
/usr/sbin/sasltestsuite        |
/usr/sbin/testsaslauthd        |
/usr/sbin/sasldblistusers2     |======> commandes de gestion des utilisateurs qui auront accès au serveur de mail
/usr/sbin/saslpasswd2          |
/usr/sbin/sasldbconverter2     |
/etc/default/saslauthd      <==== c'est le fichier de configuration du serveur d'authentification "saslauthd"
/etc/init.d/saslauthd       <==== c'est le script de démarrage de sasl2 (se lance au démarrage de Linux)
[...]

Mais qu’est-ce donc que sasl2 ?

Et bien c’est comme le port-salut, c’est écrit dessus:

dpkg -s sasl2-bin

[...]
Description: Programs for manipulating the SASL users database
                  This is the Cyrus SASL API implementation, version 2. See package
                  libsasl2 and RFC 2222 for more information.

Pour ceux qui ne parlent pas la langue de Shakespear:

Description: Programme pour la manipulation d'une base de donnée SASL (le fichier /etc/sasldb2) 
                  d'utilisateurs.
                  Ce programme est une implémentaion de l'API SASL pour Cyrus version 2:
                  Voir le package libsasl2 et la RFC 2222 pour plus d'information.

4°/ L’utilisateur cyrus

apt-get install cyrus21-common

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Paquets suggérés| :
cyrus21-clients
Paquets recommandés| :
cyrus21-imapd cyrus21-pop3d cyrus21-murder
Les NOUVEAUX paquets suivants seront installés| :
cyrus21-common
[...]
Creating/updating cyrus user account...
Ajout de l'utilisateur cyrus au groupe sasl... <===== Ici, est créé l'utilisateur "cyrus"
Fait.
Creating cyrus control directories in /var/lib/cyrus...
Creating partition spool /var/spool/cyrus/mail... <==== Ici est créé le répertoire /cyrus/mail/ et tous les sous-répertoires
Creating partition spool /var/spool/cyrus/news... <==== Ici est créé le répertoire /cyrus/news/ et tous les sous-répertoires
Trying to optimize Cyrus partitions, edit /etc/default/cyrus21 to disable...
Setting attributes to +S for  /var/lib/cyrus... <==== Tous les sous-répertoires de /var/spool/cyrus sont mis en écriture synchro
Setting attributes to +S for  /var/spool/cyrus/mail...<==== Tous les sous-répertoires de /var/spool/cyrus/mail sont mis en écriture synchro
Setting attributes to +S for  /var/spool/cyrus/news...<==== Tous les sous-répertoires de /var/spool/cyrus/news sont mis en écriture synchro
Starting Cyrus IMAPd: cyrmaster.
[...]

cat /etc/passwd |grep cyrus

cyrus:x:100:501:Cyrus Mailsystem User:/var/spool/cyrus:/bin/sh

et:

cat /etc/shadow |grep cyrus

cyrus:!:12716:0:99999:7:::

On peut aussi regarder à quels groupes appartient cet utilisateur:

id cyrus

uid=100(cyrus) gid=501(mail) groupes=501(mail),45(sasl)

L’administrateur de Cyrus-IMAP appartient donc aux groupes mail et sasl .

Le package cyrus21-common installe par ailleurs les fichiers importants suivants:

dpkg -L cyrus21-common

[...]
/etc/pam.d/lmtp  <==== le fichier pour l'authentification PAM auprès du serveur de transport local "lmtp"
/etc/cyrus.conf    <==== Le fichier de configuration des services du serveur Cyrus-IMAP
/etc/imapd.conf   <==== Le fichier de configuration du serveur imapd Cyrus-IMAP
/etc/init.d/cyrus21   <==== le script de démarrage/arrêt de Cyrus-IMAP
[...]
/usr/sbin/cyrdeliver         |
/usr/sbin/cyrdump            |
/usr/sbin/cyrmaster          |
/usr/sbin/cyrquota           |
/usr/sbin/cyrreconstruct     |
/usr/sbin/cyrus-makedirs     |
/usr/sbin/ctl_cyrusdb        |
/usr/sbin/ctl_deliver        |
/usr/sbin/ctl_mboxlist       |=====>  Les commandes de gestion du serveur Cyrus-IMAP
/usr/sbin/cvt_cyrusdb        |
/usr/sbin/chk_cyrus          |
/usr/sbin/ipurge             |
/usr/sbin/tls_prune          |
/usr/sbin/mbpath             |
/usr/sbin/arbitron           |
/usr/sbin/arbitronsort       |
[...]
/var/spool/cyrus        <=== le répertoire dans lequel seront ajoutées les BàL de mail et de news
/var/spool/sieve        <=== le répertoire pour une administration avec websieve
[...]

5°/ Création du mot de passe de cyrus

Ceci ce fait très simplement avec la commande suivante:

saslpasswd2 cyrus

Password: xxxxxx
Again (for verification): xxxxxx

6°/ La base de données /etc/sasldb2

7°/ On teste que l’utilisateur cyrus existe et a bien un password:

sasldblistusers2

cyrus@euphorie.linuxorable.fr: userPassword

L’utilisateur cyrus a bien un paswword sur la machine euphorie et il est bien le seul utilisateur créé.

8°/ On teste l’utilisateur cyrus avec son password:

1°/ que la ligne "START=yes" soit décommentée,

Pour lancer le serveur d’authentification:

/etc/init.d/saslauthd start

Testons donc l’administrateur cyrus et son passwd:

testsaslauthd -u cyrus -p xxxxxx

0: OK "Success."

ATTENTION - MESSAGES D’ERREUR: Quand bien même la commande ci-dessus renvoie une réponse positive, il est possible, une fois que tout est installé (Postfix, Cyrus, Horde, IMP), d’avoir, au moment de se loguer sous IMP, par exemple, un message comme celui-ci (dans les logs de /var/log/ mail.log ):

cyrus/imapd[9324]: badlogin: euphorie[82.67.66.131] CRAM-MD5 [SASL(-13): user not found: no secret in database] 

ou:

cyrus/imapd[8932]: badlogin: mutualite-2-82-67-64-88.fbx.proxad.net[82.67.64.88] plaintext virginie SASL(-13):
user not found: checkpass failed

Ceci est du à une base de données /etc/ sasldb2 corrompue (alors que la commande ci-dessus fonctionne !!!).

C’est pourquoi il FAUT FAIRE RÉGULIÈREMENT DES SAUVEGARDES de cette base de données.

9°/ On teste le fonctionnement de Cyrus-IMAP:

Donc on démarre le serveur Cyrus-IMAP:

/etc/init.d/cyrus21 start

... puis on le test:

telnet www.linuxorable.fr imap

Trying 82.67.66.131...
Connected to www.
Escape character is '^]'.
* OK euphorie.linuxorable.fr Cyrus IMAP4 v2.1.17-IPv6-Debian-2.1.17-3 server ready
. logout
* BYE LOGOUT received
. OK Completed
Connection closed by foreign host.

Hé bien voilà ! Tout ceci ne semble annoncer que de bonnes choses à venir...

10°/ Quelques modifications à apporter:

  • a/ Il faut indiquer, dans ce fichier, qui sera le (ou les) administrateur(s) du serveur imapd Autant choisir tout de suite le compte que nous venons de créer. Le fichier /etc/ imapd.conf contient donc une entrée (simplement la décommenter):
  • b/ Indiquer la méthode de récupération du mot de passe. Ce sera bien sûr saslauthd puisqu’il est le serveur d’authentification. Le fichier /etc/ imapd.conf contient donc une entrée:
  • c/ Indiquer le nom complètement qualifié de l’hôte du serveur Cyrus-IMAP. C’est le nom qui est renvoyé par la commande hostname Le fichier /etc/ imapd.conf contient donc une entrée (à ajouter):

Puis on relance le serveur Cyrus-IMAP:

/etc/init.d/cyrus21 restart

11°/ Créer une BàL:

11.1°/ Se connecter au serveur IMAP en tant qu’administrateur

cyradm --user cyrus localhost (nécessite que saslauthd tourne)

Passwd: (taper le passwd créé au 4°/)
 localhost>
cyradm: cannot authenticate to server as user cyrus 
cyrus/imapd[2958]: unable to open Berkeley db /etc/sasldb2: Permission denied 

chown cyrus:mail /etc/sasldb2

... puis bien sûr relancez la commande:

cyradm --user cyrus localhost

cyradm: cannot connect to server 

cela est certainement dû au fichier de configuration /etc/ cyrus.conf qui lance uniquement imaps .

Il faut donc configurer le fichier /etc/ cyrus.conf pour que imapd tourne également mais uniquement en local, c’est à dire sur l’adresse 127.0.0.1

Pour ce faire, voir ici et mon fichier cyrus.conf qui tient compte des infos de ce site.

Une fois le fichier /etc/ cyrus.conf correctement configuré, la commande:

cyradm --user cyrus euphorie

renvoie ce message d’erreur:

cyradm: cannot connect to server 

alors que la commande:

cyradm --user cyrus localhost

fonctionne nickel !

11.2°/ De quelles commandes dispose t-on ?

Une fois connecté, pour connaître toutes les commandes à notre disposition, on tape la commande suivante:

authenticate, login, auth         authenticate to server
chdir, cd                         change current directory
createmailbox, create, cm         create mailbox
deleteaclmailbox, deleteacl, dam  remove ACLs from mailbox
deletemailbox, delete, dm         delete mailbox
disconnect, disc                  disconnect from current server
exit, quit                        exit cyradm
help, ?                           show commands
info                                             displaymailbox/servermetadata
listacl,lam,listaclmailbox        list ACLsonmailbox
listmailbox,lm                    list mailboxes
listquota, lq                     list quotas on specified root
listquotaroot,lqr,lqm         show quota rootsand quotas for mailbox
reconstruct                       reconstruct mailbox (if supported)
renamemailbox, rename, renm       rename (and optionally relocate) mailbox
server, servername, connect       show current server or connect to server
setaclmailbox, sam, setacl        set ACLs onmailbox
setinfo                           set server metadata
setquota, sq                      set quota on mailbox or resource
version, ver                      display version info of current server
localhost>

11.3°/ Existet-il déjà des BàL ?

Dans notre cas, puisqu’on débute, bien sûr, il n’y en a pas !

11.4°/ On crée donc une boite aux lettres

Voilà ! On vient de créer une BàL pour l’utilisateur test0 qui n’est pas encore créé et qui n’a donc pas non plus de mot de passe.

Bien garder à l’esprit que le mot " utilisateur " test0 est impropre puisque test0 ne correspondra à aucun compte UNIX. test0 est plus un login qu’un utilisateur.

Lorsqu’un utilisateur (une personne physique) peut se loguer sur un serveur sans avoir de compte UNIX, on parle de compte virtuel !

La commande ci-dessus vient de créer ceci:

ls -la /var/spool/cyrus/mail/t/user/test0/

/var/spool/cyrus/mail/t/user/test0/cyrus.cache
/var/spool/cyrus/mail/t/user/test0/cyrus.header
/var/spool/cyrus/mail/t/user/test0/cyrus.index
11.4.1°/ De l’importance de user

11.5°/ On contrôle que la boite aux lettres a bien été créée

...le test est donc positif.

11.6°/ On peut éventuellement contrôler les droits de test0 sur sa BàL

test0 a donc tous les droits. Ha ?!!

man cyradm

l   Lookup (visible to LIST/LSUB/UNSEEN)
r   Read (SELECT, CHECK, FETCH, PARTIAL, SEARCH, COPY source)
s   Seen (STORE \SEEN)
w   Write flags other than \SEEN and \DELETED
i   Insert (APPEND, COPY destination)
p   Post (send mail to mailbox)
c   Create and Delete mailbox (CREATE new sub-mailboxes, RENAME or DELETE mailbox)
d   Delete (STORE \DELETED, EXPUNGE)
a   Administer (SETACL)

11.7°/ On contrôle qu’effectivement même l’administrateur cyrus ne peut effacer cette BàL

CQFD !

Haaaa..... ben ça marche ! Donc pour effacer la BàL d’un utilisateur, l’administrateur doit d’abord se donner les droits requis sur la BàL de cet utilisateur.

postfix/pipe[26562]: 2716D47E02: to=<test0@linuxorable.fr>, relay=cyrus, delay=1, status=bounced (data format error.
Command output: test0: Mailbox does not exist ) 

Donc pour détruire définitivement le compte de test0 on utilise cette commande:

saslpasswd2 -d test0

11.8°/ On crée maintenant un compte IMAP pour l’utilisateur test0

saslpasswd2 -c test0

Password: test0passwd 
Again (for verification): 
~#

11.9°/ On peut vérifier notre travail

...en testant l’existence de l’utilisateur:

sasldblistusers2

cyrus@mon_serveur.mon_domaine.net: userPassword
test0@mon_serveur.mon_domaine.net: userPassword

puis en testant son login et son mot de passe:

testsaslauthd -u test0 -p test0passwd

0: OK "Success."

Bien, tout est nickel !!!

Tout est tellement nickel que vous devez d’ores et déjà pouvoir créer un compte avec votre client mail (e.g: Thunderbird) et vous loguer au serveur imapd Cyrus-IMAP.

Je rappel que pour l'instant il n'y a pas de serveur smtpd Postfix d'installé.

11.10°/ Exemple de compte créé avec Thunderbird

  • Non d’utilisateur: test0
  • Adresse mail: test@linuxorable.fr
  • Serveur IMAP: linuxorable.fr
  • Serveur SMTP: linuxorable.fr (mais ne tourne pas encore !!!)
  • Nom de la BàL: Ce que vous voulez

Bien. On peut passer à l’article suivant.

Il manque la gestion des quotas !!!

  • La démarche à suivre pour la création d’un compte IMAP (d’une BàL) est toujours la même que l’utilisateur ait ou non un compte UNIX sur le serveur.
  • Les répertoires créés dans INBOX par les utilisateurs sont listés dans /var/spool/cyrus/mail/t/user/test0/
  • C’est le répertoire /var/spool/cyrus/mail/t/user/test0/ qui sert de répertoire INBOX
  • Chaque (sous)dossier créé par les utilisateurs contient ces trois fichiers:
    • cyrus.cache
    • cyrus.header
    • cyrus.index
  • Pour avoir un démon master verbeux, décommenter la ligne CYRUS_VERBOSE=1 dans /etc/default/ cyrus21
  • Mot de passe perdu: taper ~# hexedit /etc/sasldb2 puis passer dans le champ ASCII (texte) avec la touche "Tab" puis comme sous vi faire une recherche de l’utilisateur et on trouve alors son mot de passe. Quitter avec F10 .
Cyrus IMAP : le fichier cyrus.conf
Lien vers l'article suivant

Commentaires