我使用Dovecot和passdb作为用户数据库:
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工作)。例如:
$ doveadm expunge -A mailbox Trash all
Error: User listing returned failure
doveadm: Error: Failed to iterate through some usersdovecot日志显示:
... dovecot[1225]: auth: Error: Trying to iterate users, but userdbs don't support it是否有一种方法来配置这种支持,还是这仅仅是一个限制?
发布于 2019-05-14 22:16:21
static驱动程序确实不支持迭代,但是您可以以最小的努力切换到passwd-file,并且该驱动程序确实支持迭代。
您可以对passdb和userdb使用相同的文件:
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命令就成功了。
https://serverfault.com/questions/939418
复制相似问题