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
