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

我使用的是后缀和dovecot。

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

在使用SSL / TLS证书之前,我正在使用未encryption的连接。

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

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

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

  • 用户数据库包含除了密码以外的所有Dovecot需求。
  • 密码数据库包含(encryption的)用户密码。

你可以有多个数据库的每个types,Dovecot将使用第一个匹配的条目。 有几个数据库后端,您可以为用户和密码数据库select不同的后端。 例如,可以使用SQL作为用户数据库,并使用密码数据库的平坦passwd文件。

在你的情况下,这听起来像你想configurationDovecot使用除密码之外的所有正常的系统用户信息。 这是一个很常见的情况,正如System Users wiki页面所述 :

pipe理员通常希望对IMAP和POP3使用不同于其他服务(例如SSH)的密码,因为IMAP和POP3客户端通常在互联网上未encryption地发送密码,甚至不会给用户任何警告。 Dovecot可以轻松地为系统用户提供非系统密码。

[…]

如果你想使用非系统密码,你几乎可以使用任何Dovecot的密码数据库 ,但是对于简单的安装,你可能会使用passwd-file 。

系统用户的用户数据库始终是密码 。

这里有一个如何设置它的具体例子。 在你的/etc/dovecot/dovecot.conf你可以这样写:

 passdb { driver = passwd-file args = /etc/dovecot/passwd } userdb { driver = passwd } 

而你的/etc/dovecot/passwd文件将包含这样一行:

 root:{CRYPT}zVQDPzjspy126 

上面的configuration告诉Dovecot在/etc/dovecot/passwd查找密码信息(只有root存在,所以只有该用户才能login)并查看系统用户数据库中的其他内容。

请参阅此答案以了解如何在/etc/dovecot/passwd文件中生成encryption密码字段。

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