Dovecot 与 PostgreSQL 用户数据库:密码散列
Dovecot with PostgreSQL users database: Password hashing
我正在尝试使用 Postfix 和 Dovecot 设置邮件服务器。
我使用 bcrypt 散列密码将我的用户存储在 PostgreSQL 数据库中。
经过一些研究,我找到了从 PostgreSQL 数据库读取用户的方法,但密码以纯文本形式存储。
如何设置 Dovecot 以使用 bcrypt 散列密码从 PostgreSQL 数据库中读取用户?
Dovecot 完全支持 BLF-CRYPT
password scheme 自从最近的 2.3 版本显然。
对于 PostgreSQL 使用何种方案应该没有什么区别,密码只是数据库中的一个文本字段,它以散列文本形式存储和检索。用于散列的方案由密码的前几个字符已知,例如 a$
代表 bcrypt
。
可以使用 doveadm -s BLF-CRYPT
对密码进行哈希处理,并将输出复制到数据库中与用户对应的行中的密码字段。
对于身份验证,dovecot
与 postfix
一样,需要用户提供的 SQL 查询,其配置中包含一些已记录的占位符(请参阅 password_query
),因此它不需要假定 table 或用户视图的任何特定结构。
我正在尝试使用 Postfix 和 Dovecot 设置邮件服务器。
我使用 bcrypt 散列密码将我的用户存储在 PostgreSQL 数据库中。
经过一些研究,我找到了从 PostgreSQL 数据库读取用户的方法,但密码以纯文本形式存储。
如何设置 Dovecot 以使用 bcrypt 散列密码从 PostgreSQL 数据库中读取用户?
Dovecot 完全支持 BLF-CRYPT
password scheme 自从最近的 2.3 版本显然。
对于 PostgreSQL 使用何种方案应该没有什么区别,密码只是数据库中的一个文本字段,它以散列文本形式存储和检索。用于散列的方案由密码的前几个字符已知,例如 a$
代表 bcrypt
。
可以使用 doveadm -s BLF-CRYPT
对密码进行哈希处理,并将输出复制到数据库中与用户对应的行中的密码字段。
对于身份验证,dovecot
与 postfix
一样,需要用户提供的 SQL 查询,其配置中包含一些已记录的占位符(请参阅 password_query
),因此它不需要假定 table 或用户视图的任何特定结构。