Quotas de correo Postfix + Maildirs mediante paaQuota

De Wikillano

Queria añadir cuotas a los buzones del servidor postfix, el problema es que el sistema de buzones que utilizo es MAILDIR y desde postfix no se pueden configurar, buscando por la red encontre lo siguiente:

PaaQuota [1]

Es un pequeño programa en php que limita los buzones, el inconveniente es que limita todos los buzones por igual, de todas maneras lo he configurado y funciona muy bien.

Contenido

Configuración

como en el fichero de instalación indica debemos modificar a nuestros intereses el fichero paaQuota-v0.x.php lo unico que modifiqué fue lo siguiente:

define(MAX_QUOTA, ONE_MB * 50);
define(USE_MAILDIR, TRUE);

siguiendo las instrucciones:

chmod 700 paaQuota-v0.x.php
./paaQuota-v0.x.php (check mail.log to see error messages)

mover paaQuota-watchdog to /etc/cron.d/

Chown 700 paaQuota-watchdog.sh

Abrir main.cf Añadir lo siguiente check_policy_service inet:127.0.0.1:9999, en smtpd_recipient_restrictions = quedando de la siguiente manera:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service inet:127.0.0.1:9999

Crear usuario y grupo

cree el usuario vmail y lo añadí al grupo mail que ya existia en mi máquina, por otro lado añadí el grupo mail a los usuarios que quería controlarles el buzón.

cat /etc/group
mail:x:8:david,spam,estela

Permisos

según paaquota es necesario tener permisos de lectura en los directorios Maildir cur/ new/ tmp/

ejemplo usuario:

chgrp mail Maildir
chown 750 Maildir
drwxr-x--- 11 david mail 4096 2009-01-15 19:23 Maildir
cd Maildir
chgrp mail  cur/ new/ tmp
chmod 2740 cur/ new/ tmp/

orion:/home/david# ls -lrt
total 28
-rw-r--r-- 1 david david  237 2008-11-18 21:13 courierpop3dsizelist
-rw-r--r-- 1 david david   55 2009-01-15 19:23 courierimapsubscribed
drwxr-s--- 2 david mail  4096 2009-03-19 15:58 new
drwxr-s--- 2 david mail  4096 2009-03-19 15:58 cur
-rw-r--r-- 1 david david  2144 2009-03-19 15:58 courierimapuiddb
drwxr-x--- 2 david david 4096 2009-03-19 16:15 courierimapkeywords
drwxr-s--- 2 david mail  4096 2009-03-19 16:25 tmp

si lo se, se debe hacer cada vez que añades un usuario. :)

Problemas

He tenido varios problemas, sobretodo con la ruta hacia los maildirs, yo no utilizo ningún programa externo para repartir los mails a sus buzones sino que dejo a postfix la tarea. el verifica que el usuario existe en virtual_alias_maps = hash:/etc/postfix/virtual y lo deja en el buzón que toque.

mail.log:Mar 19 12:09:16 orion paaQuota[9780]: Base directory: /var/mail/
mail.log:Mar 19 12:09:16 orion paaQuota[9780]: Open listening socket
mail.log:Mar 19 12:09:16 orion paaQuota[9780]: Setting reuse address
mail.log:Mar 19 12:09:16 orion paaQuota[9780]: Binding listening socket
mail.log:Mar 19 12:09:16 orion paaQuota[9780]: Listen on listening socket
mail.log:Mar 19 12:09:42 orion paaQuota[9780]: No virtual mail[box/dir] for deivit@ejemplo.net

el problema es que paaquota verifica la variable virtual_mailbox_base y la variable virtual_mailbox_maps para encontrar los mailbox de cada usuario.

para que funcionara me he visto obligado a declarar las dos variables en el main.cf

virtual_mailbox_base = /home
virtual_mailbox_maps = hash:/etc/postfix/maildirmaps
vim /etc/postfix/maildirmaps
deivid@ejemplo.net       david/Maildir/
postmap /etc/postfix/maildirmaps
Herramientas personales