Catégorie : Cyrus

[Cyrus] Deplacer une mailbox sur une autre partition

Voici la marche à suivre afin de déplacer une mailbox d’une partition à une autre.

Dans l’exemple, je dispose de deux partitions (cf http://blog.slashroot.fr/?p=1156). La première par défaut (/var/spool/cyrus/mail) et la seconde nommée ‘1’ (/var/spool/cyrus/mail2).

Dans un premier temps il faut s’assurer que Cyrus accepte le déplacement (/etc/imapd.conf) :

allowusermoves: yes

Si modification, on redémarre Cyrus :

/etc/init.d/cyrus2.2 restart

Il ne reste plus qu’a se connecter à la base et déplacer la mailbox :

cyradm --user cyrus localhost

renamemailbox user/johan@em-corporation.fr user/johan@em-corporation.fr 1

Le 1 correspond à la partition cyrus vers laquelle déplacer la mailbox.

Pour finir, on peut vérifier que le déplacement a bien été effectué :

su - cyrus -c "/usr/sbin/mbpath user/johan@em-corporation.fr"
/var/spool/cyrus/mail2/domain/e/em-corporation.fr/j/user/johan

[Cyrus] Déclaration d’une nouvelle partition

Si vous rencontrez un problème d’insuffisance de stockage au niveau de vos BAL que vous ne pouvez pas faire évoluer, il est facilement envisageable de créer une partition supplémentaire.

La première étape consiste à choisir son dossier de destination et de lui affecté les bon droits (dépendant de votre configuration). Pour ma part j’ai simplement ajouté un deuxième disque local monté sur /var/spool/cyrus/mail2 (nous pouvons imaginer plein de scénarios différents).

Mise en place des droits sur le dossier :

chown cyrus:mail /var/spool/cyrus/mail2
chmod 750 /var/spool/cyrus/mail2

Déclaration de la partition à Cyrus (/etc/imapd.conf)

defaultpartition: 1
partition-default: /var/spool/cyrus/mail
partition-1: /var/spool/cyrus/mail2

Pour rappel, la valeur de la defaultpartition indique quelle partition va utiliser cyrus pour stocker les BAL des nouveaux utilisateurs.

[Cyrus] Valeurs des ACL

Les ACL peuvent prendre comme valeur : none, read (lrs), post (lrsp), append (lrsip), write (lrswipcd), all (lrswipcda), ou n’importe quelle combinaison faite a partir des droits :

l

Lister les messages (LIST/LSUB/UNSEEN)

r

Lire les messages (SELECT, CHECK, FETCH, PARTIAL, SEARCH, COPY)

s

Marquer les messages comme lus (STORE \SEEN)

w

Ecrire des messages (\SEEN \DELETED)

i

Insérer des messages (APPEND, COPY)

p

Envoyer des messages

c

Créer et supprimer des sous-boites (CREATE, RENAME, DELETE)

d

Supprimer des messages (STORE \DELETED, EXPUNGE)

a

Changer les ACL de la boite (SETACL)

[Cyrus] Gestion des droits

Connexion à cyrus :

cyradm –user cyrus localhost

Affichage de la liste d’accès ou ACL de la BAL souhaitée avec la commande lam :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
cyrus lrswipcda

Ajout des droits en lecture sur toute la boite support à l’utilisateur souhaité :

localhost> sam support@em-corporation.fr johan@em-corporation.fr lrs

Vérification :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
johan@em-corporation.fr lrs
cyrus lrswipcda

Suppression d’accès sur une BAL :

localhost> deleteacl user/support@em-corporation.fr johan@em-corporation.fr

Vérification :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
cyrus lrswipcda

A noter que les droits donnés aux utilisateurs sont toujours affiché sur les BAL qui partagent les données.