如何使 dovecot 密码独立于服务器密码?

Use*_*ser 6 dovecot

我正在使用 postfix 和 dovecot。

我想从 root 发送和接收电子邮件。

在我使用 SSL/TLS 证书之前,我使用的是未加密的连接。

由于我的电子邮件密码与我的 ssh 密码相同,因此有人可以轻松嗅探流量并以 root 身份登录。

如何更改我的 dovecot 密码以使其与 linux 用户密码不同?

Ric*_*sen 8

Dovecot 在概念上将用户帐户信息分为两个数据库:

您可以拥有每种类型的多个数据库,Dovecot 将使用第一个具有匹配条目的数据库。有多个数据库后端,您可以为用户和密码数据库选择不同的后端。例如,您可以对用户数据库使用 SQL,对密码数据库使用类似 passwd 的文件。

在您的情况下,听起来您希望将 Dovecot 配置为使用除密码之外的所有普通系统用户信息。这是一种非常常见的情况,如系统用户 wiki 页面中所述

管理员通常希望对 IMAP 和 POP3 使用与其他服务(例如 SSH)不同的密码,因为 IMAP 和 POP3 客户端经常通过 Internet 发送未加密的密码,甚至不会给用户任何警告。Dovecot 可以轻松支持系统用户的非系统密码。

[...]

如果您希望使用非系统密码,您几乎可以使用 Dovecot 的任何密码数据库,但对于简单的安装,您可能需要使用passwd-file

系统用户的用户数据库始终是passwd

这是一个如何设置它的具体示例。在你的/etc/dovecot/dovecot.conf你会放这样的东西:

passdb {
  driver = passwd-file
  args = /etc/dovecot/passwd
}
userdb {
  driver = passwd
}
Run Code Online (Sandbox Code Playgroud)

并且您的/etc/dovecot/passwd文件将包含如下一行:

root:{CRYPT}zVQDPzjspy126
Run Code Online (Sandbox Code Playgroud)

上述配置告诉 Dovecot 查找/etc/dovecot/passwd密码信息(并且仅root存在以便只有该用户能够登录)并在系统用户数据库中查找其他所有信息。

有关如何在文件中生成加密密码字段的信息,请参阅此答案/etc/dovecot/passwd


Kon*_*bas 1

您想要所谓的virtual users- 一些不干扰系统帐户的单独帐户。有很多可能的后端 - 纯文件、SQL 服务器、LDAP 等等。唯一的建议 -dovecot-auth在 postfix 中使用来处理单一授权后端。