Tabla de Contenidos

Mail: Cyrus/Postfix: administrando cuentas de correo-e

Por Félix Molinuevo, FMSI Sistemas de Informática

Crear cuentas

  1. Ingresar al administrador de Cyrus:
    cyradm -u cyrus -p
  2. Crear casilla:
    cm user.mailbox

    Es necesario escribir el “user.”. Mailbox puede ser cualquier cosa sin puntos ni espacios, sólo letras y números.

  3. Agregar el alias en /etc/aliases:
    mailbox: mailbox

    y ejecutar el comando “newaliases” para renovar el listado de aliases para el SMTP

  4. Crear el usuario y la contraseña para la cuenta (sólo servidores con autenticación SASL):
    saslpasswd mailbox
  5. Crear el usuario y la contraseña para la cuenta (sólo servidores con autenticación PAM):
    passwd mailbox
  6. En el caso de los clientes que tienen configurado el “catch-all”, agregar en la configuración de Fetchmail la cuenta, para que éste sepa que tiene otra más a la cual distribuir los mensajes
  7. En el caso de los clientes que tienen configurado virtual domains en Postfix, se debe agregar la cuenta nueva en /etc/postfix/virtual:
    mailbox@dominio.com: mailbox
    mailbox@dominio.com.ar: mailbox

    y ejecutar postmap:

    postmap /etc/postfix/virtual

    para regenerar la tabla de dominios virtuales

  8. Probar la cuenta

Eliminar una cuenta

- Conectarse al servidor usando:

# cyradm -u cyrus localhost --auth login 

- Darle permisos a cyrus para borrar el acl del mailbox, revisar los permisos de ese mailbox y borrarlo.

localhost.localdomain> sam user.test cyrus c
localhost.localdomain> lam user.test
cyrus c
user.test lrswipcda
localhost.localdomain> dm user.test

Renombrar Cyrus mailboxes

  1. Crear una nueva mailbox principal para el nuevo usuario
  2. Crear todas las carpetas subordinadas, haciendo coincidir exactamente los mismos nombres del árbol de carpetas anterior
  3. Reemplazar el árbol de carpetas nuevo y vacío, con el árbol anterior
  4. Borrar la mailbox anterior
  5. Reconstruir la nueva cuenta con el comando de cyradm “reconstruct”, o el utilitario “cyrreconstruct”. En el último caso, se debe ejecutar lo siguiente:
    su - cyrus
    /usr/sbin/cyrreconstruct -r user.<mailbox>
  6. Configurar la quota sobre la nueva cuenta

Restaurar una carpeta de un backup

  1. Restaurar el backup en una carpeta dentro de la cuenta en cuestión. También se puede crear una cuenta nueva y restaurar allí dentro el backup, especialmente si es muy grande
  2. Luego cambiar el dueño y grupo:
    chown -R cyrus:mail recuperado/
  3. Reconstruir la mailbox con el comando cyrreconstruct, utilizando el usuario cyrus:
    su - cyrus -c "/usr/sbin/cyrreconstruct -rf user.usuario.carpeta"
  4. Verificar que las carpetas estén almacenadas en la DB de Cyrus, y los permisos de acceso estén correctos:
    su - cyrus -c "/usr/sbin/ctl_mboxlist -d /var/lib/imap/mailboxes.db | grep user.usuario.recuperado"
  5. Si el backup es restaurado en una cuenta que no es del mismo usuario original se debe también cambiar los permisos de acceso para los mails restaurados, usando cyradm. En caso de no realizarse este paso, el nuevo usuario no tendrá acceso a las carpetas restauradas, y por lo tanto ni siquiera podrá suscribirse:
    cyradm -u cyrus localhost

    Y luego:

    sam user.usuario.recuperado\* usuario all

Eliminar mensajes de la cola (queue) de Postfix

Todos los mails de MAILER-DAEMON:

mailq | tail -n +2 | head -n -2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($7 == "MAILER-DAEMON") print $1 }' | tr -d '*!' | postsuper -d - 

Todos los mails para un destinatario:

mailq | tail -n +2 | grep -v '^ *(' | gawk 'BEGIN {RS = ""} /cuenta@localhost/ {print $1}' | tr -d '*!' | sudo postsuper -d -