Dovecot usa un proceso maestro que lanza workers especializados. Así se aíslan los fallos: una sesión IMAP con un bug no puede tumbar el daemon de autenticación.
Procesos principales:
| Proceso | Función |
|---|---|
| dovecot (maestro) | Lanza y supervisa a los procesos hijos |
| anvil | Lleva la cuenta de conexiones por usuario/IP |
| log | Recolector de logs centralizado |
| config | Sirve la configuración a todos los demás procesos |
| stats | Métricas en memoria |
| auth | Un único daemon de autenticación para todos los protocolos |
| imap-login / pop3-login | Manejadores de red previos a la autenticación (pocos privilegios) |
| imap / pop3 | Workers por sesión después de la autenticación |
| lmtp | Entrega local desde el MTA |
| doveadm | Servidor de la CLI de administración |
Separación de privilegios: imap-login se ejecuta como el usuario dovenull, sin shell. Solo cuando la autenticación tiene éxito la sesión pasa a imap, que se ejecuta como el dueño del buzón. Por eso Dovecot ha tenido tan pocos CVE en 20 años.
Concurrencia: de forma predeterminada, cada usuario tiene un proceso imap por sesión. Con service_count = 0, Dovecot reutiliza procesos para reducir el costo de fork() cuando hay mucha concurrencia.
Inicia sesión para llevar el registro de lo que ya leíste.