首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用passdb配置doveadm -A?

如何使用passdb配置doveadm -A?
EN

Server Fault用户
提问于 2018-11-10 06:38:08
回答 1查看 1.5K关注 0票数 4

我使用Dovecot和passdb作为用户数据库:

代码语言:javascript
复制
passdb {
    args = scheme=sha512-crypt /etc/mail/passwd
    driver = passwd-file
}

userdb {
    args = uid=vmail gid=vmail home=/var/vmail/%d/%n
    driver = static
}

我不能在任何doveadm命令中使用-A标志(而使用-u user工作)。例如:

代码语言:javascript
复制
$ doveadm expunge -A mailbox Trash all
Error: User listing returned failure
doveadm: Error: Failed to iterate through some users

dovecot日志显示:

代码语言:javascript
复制
... dovecot[1225]: auth: Error: Trying to iterate users, but userdbs don't support it

是否有一种方法来配置这种支持,还是这仅仅是一个限制?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-05-14 22:16:21

static驱动程序确实不支持迭代,但是您可以以最小的努力切换到passwd-file,并且该驱动程序确实支持迭代。

您可以对passdb和userdb使用相同的文件:

代码语言:javascript
复制
passdb {
    args = scheme=sha512-crypt /etc/mail/passwd
    driver = passwd-file
}

userdb {
    default_fields = uid=vmail gid=vmail home=/var/vmail/%d/%n
    args = /etc/mail/passwd
    driver = passwd-file
}

使用此配置,您必须确保/etc/mail/passwd有八个冒号分隔的字段,请参见https://wiki2.dovecot.org/UserDatabase。(只需将6个冒号::::::附加到当前文件的每一行。)

重新加载,doveadm -A命令就成功了。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/939418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档