Dovecot gebruikt een masterproces dat gespecialiseerde workers start. Dat isoleert fouten: een IMAP-sessie met een bug kan de auth-daemon niet laten crashen.
Kernprocessen:
| Proces | Rol |
|---|---|
| dovecot (master) | Start en bewaakt de child-processen |
| anvil | Houdt het aantal verbindingen per gebruiker/IP-adres bij |
| log | Centrale verzamelaar van logs |
| config | Levert de configuratie aan alle andere processen |
| stats | Metrics in het geheugen |
| auth | Eén auth-daemon voor alle protocollen |
| imap-login / pop3-login | Netwerkafhandeling vóór authenticatie (weinig rechten) |
| imap / pop3 | Workers per sessie na authenticatie |
| lmtp | Lokale aflevering vanuit de MTA |
| doveadm | Server voor de beheer-CLI |
Scheiding van rechten: imap-login draait als gebruiker dovenull zonder shell. Pas als de authenticatie slaagt, gaat de sessie over naar imap, dat draait als de eigenaar van de mailbox. Daarom heeft Dovecot in 20 jaar zo weinig CVE's gehad.
Gelijktijdigheid: standaard krijgt elke gebruiker één imap-proces per sessie. Met service_count = 0 hergebruikt Dovecot processen, wat de overhead van fork() verlaagt bij veel gelijktijdige verbindingen.
Log in om bij te houden wat je gelezen hebt.