Dovecot på CentOS: äldre IMAP/POP3-installation
Datum för offentliggörande:
Uppdaterad:
Tekniska artiklar > Dovecot på CentOS: äldre IMAP/POP3-installation
2026 status och säker användning
Slutsats: En aktuell Dovecot-tjänst bör använda ett paket som stöds, giltiga och förnybara certifikat, påtvingad krypterad autentisering, e-postlagring med minst privilegier, noggrant avgränsad Postfix-integrering och övervakade loggar. Visa endast de protokoll som dina användare kräver.
Vad du kommer att lära dig
- Vad den ursprungliga Dovecot 2.2/CentOS 7-konfigurationen försökte tillhandahålla.
- Hur IMAP/POP3-lyssnare, TLS, autentiseringsmekanismer, e-postplatser och Postfix SASL-integration relaterar.
- Varför autentiseringsinställningar för klartext är farliga om inte kryptering tillämpas strikt innan autentiseringsuppgifterna accepteras.
Vem detta är till för: E-postadministratörer som granskar en äldre Postfix/Dovecot-distribution, inte läsare som letar efter en internetklar standard.
2026-kontext: De gamla versionerna och kommandona nedan behålls som historik och har inte validerats som en säker aktuell version. Kopiera inte disable_plaintext_auth=no till produktion utan en design som garanterar TLS; föredrar IMAP framför TLS, inaktivera oanvänd POP3 och använd distributionens granskade systemd-enhet.
Säkerhetsanmärkning: Kommandona och konfigurationsexemplen i den ursprungliga artikeln har inte körts om i en aktuell produktionsmiljö. Verifiera versioner som stöds, säkerhetskopior, åtkomstkontroller och återställningssteg i en separat testmiljö innan du använder dem.
Viktiga officiella källor
Översikt.
De inledande konfigurationssteg som krävs för att installera och starta Dovecot på CentOS. Informationen bygger på antagandet att CentOS7 används. Inkommande protokoll är konfigurerade med imaps (IMAP över SSL) och pop3s (POP3 över SSL).
Versionerna är följande.
| CentOS-version | 7.6 (1810) |
|---|---|
| Postfix-version | 2.10.1 |
| Version av Dovecot | 2.2.36 |
Innehållsförteckning
1. installera
I det här avsnittet beskrivs konfigurationen av Dovecot från installation till uppstart.
1-1. Installera Dovecot
Installera Dovecot med hjälp av kommandot yum. Utför arbetet som rotanvändare.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install dovecot
1-2. kontroll av uppstartsklämma
För att kontrollera att den har installerats framgångsrikt kan du kontrollera starten. Observera att Dovecot inte kräver start som ett argument vid start.
[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root 1470 0.0 0.1 16092 1156 ? Ss 18:38 0:00 /usr/sbin/dovecot
dovecot 1471 0.0 0.1 9752 1120 ? S 18:38 0:00 dovecot/anvil
root 1472 0.0 0.1 9884 1320 ? S 18:38 0:00 dovecot/log
root 1474 0.0 0.2 12916 2384 ? S 18:38 0:00 dovecot/config
root 1476 0.0 0.0 112824 968 pts/0 R+ 18:38 0:00 grep --color=auto dovecot
Alla processer som körs som dovecot-användare enligt beskrivningen ovan är OK. Stopp.
[root@hostname ~]# /usr/sbin/dovecot stop
2. Uppsättningsinformation
2-1. Initialisering
Den första konfigurationen av Dovecot är klar.
[root@hostname ~]# vi /etc/dovecot/dovecot.conf
Ändra på följande sätt.
#protocols = imap pop3 lmtp
~förkortning~
#listen = *, ::
~förkortning~
#login_greeting = Dovecot ready.
protocols = imap pop3
~förkortning~
listen = *
~förkortning~
login_greeting = pop3 and imap ready.
protocols anger protokollen för anslutning till Dovecot.
"listen" är den IP-adress som anslutningen tillåts till. Inställningen är "*", så det finns inga begränsningar för vilka IP:er du kan ansluta till. Om du har en specifik IP att ansluta till, ange en specifik IP för säkerhets skull. "::" är en IPv6-inställning, men IPv6 används inte den här gången och bör tas bort. Genom att ta bort den accepteras endast IPv4.
"login_greeting" är meddelandet när anslutningen görs. Ändringen är inte obligatorisk, men av säkerhetsskäl bör du ändra meddelandet så att det inte är uppenbart att det är dovecot när du ansluter.
2-2. Inställningar för POP3 och IMAP
Port 110, som är den välkända porten för POP3, och port 143, som är den välkända porten för IMAP, kommer att konfigureras. Autentiseringsmetoden är kopplad till Postfix och autentisering önskas.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-master.conf
Ändra på följande sätt.
service imap-login {
inet_listener imap {
#port = 143
}
~förkortning~
service pop3-login {
inet_listener pop3 {
#port = 110
}
service imap-login {
inet_listener imap {
port = 143
}
~förkortning~
service pop3-login {
inet_listener pop3 {
port = 110
}
2-3. Inställningar för autentiseringsmetoden Dovecot
Lägg till inloggning som autentiseringsmetod för Dovecot.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-auth.conf
Ändra på följande sätt.
#disable_plaintext_auth = yes
~förkortning~
auth_mechanisms = plain
disable_plaintext_auth = no
~förkortning~
auth_mechanisms = login plain
2-4. Ändring av e-postlagring till Maildir-format.
Ställ in lagringsplatsen för e-post i varje användares hemkatalog (under "/home/xxx/").
[root@hostname ~]# vi /etc/dovecot/conf.d/10-mail.conf
Ändra på följande sätt.
#mail_location =
~förkortning~
namespace inbox {
# Namespace type: private, shared or public
#type = private
# Hierarchy separator to use. You should use the same separator for all
# namespaces or some clients get confused. '/' is usually a good one.
# The default however depends on the underlying mail storage format.
#separator =
# Prefix required to access this namespace. This needs to be different for
# all namespaces. For example "Public/".
#prefix =
# Physical location of the mailbox. This is in same format as
# mail_location, which is also the default for it.
#location =
mail_location = maildir:~/Maildir
~förkortning~
namespace inbox {
# Namespace type: private, shared or public
#type = private
# Hierarchy separator to use. You should use the same separator for all
# namespaces or some clients get confused. '/' is usually a good one.
# The default however depends on the underlying mail storage format.
#separator =
# Prefix required to access this namespace. This needs to be different for
# all namespaces. For example "Public/".
#prefix =
# Physical location of the mailbox. This is in same format as
# mail_location, which is also the default for it.
location = maildir:~/Maildir
2-5. Inställningar för autentisering
Aktivera ssl-konfiguration.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-ssl.conf
Ändra på följande sätt.
ssl = required
~förkortning~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
ssl = required
~förkortning~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key
"ssl_cert" och "ssl_key" ska ställas in i enlighet med miljön. Ange sökvägen där servercertifikatet lagras.
SSL-inställningar krävs i förväg, så om du inte har ställt in SSL-inställningar bör du göra det först. Se följande.
Installera Apache HTTP Server säkert på CentOS
Därefter följer inställningar för lösenord. 'auth-system.conf.ext'.
[root@hostname ~]# vi /etc/dovecot/conf.d/auth-system.conf.ext
Ändra på följande sätt.
passdb {
driver = pam
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
# [cache_key=<key>] [<service name>]
#args = dovecot
}
~förkortning~
#passdb {
#driver = shadow
# [blocking=no]
#args =
#}
#passdb {
#driver = pam
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
# [cache_key=<key>] [<service name>]
#args = dovecot
#}
~förkortning~
passdb {
driver = shadow
# [blocking=no]
#args =
}
2-6. kontroll av uppstartsklämma
Detta avslutar konfigurationen, så kontrollera att Dovecot startar när konfigurationen är klar. Observera att start inte krävs som argument.
[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root 1716 0.0 0.1 16092 1184 ? Ss 22:09 0:00 /usr/sbin/dovecot
dovecot 1717 0.0 0.1 9752 1120 ? S 22:09 0:00 dovecot/anvil
root 1718 0.0 0.1 9884 1312 ? S 22:09 0:00 dovecot/log
root 1720 0.5 0.2 12916 2396 ? S 22:09 0:00 dovecot/config
root 1722 0.0 0.0 112824 972 pts/0 S+ 22:09 0:00 grep --color=auto dovecot
Om det finns en process som körs som dovecot-användare enligt beskrivningen ovan har den konfigurerats och körs. När startskottet har bekräftats är det dags att sluta.
[root@hostname ~]# /usr/sbin/dovecot stop
2-7. Inställning för automatisk start
Slutligen, även om det inte är obligatoriskt, är det svårt att starta Dovecot varje gång servern startas om, så en inställning läggs in så att Dovecot startas automatiskt när servern startar. Den registrerar också kommandot systemctl. Observera att den här proceduren gäller för CentOS7, så om du använder något annat än CentOS7 måste du använda kommandot Service för att hantera detta.
Kontrollera om "/usr/lib/systemd/system/dovecot.service" finns. Om det inte finns någon skapar du en "dovecot.service" med hjälp av följande procedur. Kör som root-användare.
[root@hostname ~]# touch /etc/systemd/system/dovecot.service
[root@hostname ~]# vi /etc/systemd/system/dovecot.service
Följande information tillhandahålls.
[Unit]
#Beskrivning.
Description=Dovecot
#Kontroll före och efter utförandet.
#Before=xxx.service
After = network.target
[Service]
#Användar- och gruppbeteckning
User=root
Group=root
#När den är aktiverad, sätts statusen till Aktiverad.
Type=oneshot
RemainAfterExit=yes
#Starta, stoppa och ladda om.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload
[Install]
#Motsvarande inställningar för Runlevel 3.
WantedBy=multi-user.target
Registrera dig sedan med kommandot systemctl.
[root@hostname ~]# systemctl enable dovecot
[root@hostname ~]# systemctl is-enabled dovecot
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep dovecot
dovecot.service enabled
[root@hostname ~]# systemctl daemon-reload
3. sammanfattning
Vi har beskrivit den första konfigurationen som krävs när Dovecot installeras.
Det var ganska svårt att installera den, så om du bygger en Dovecot bör du läsa det här avsnittet.
Tack för att du tittade på till slutet.