Dovecot
如何使用 passdb 配置 doveadm -A?
我正在使用帶有 passdb 的 Dovecot 作為使用者數據庫:
passdb { args = scheme=sha512-crypt /etc/mail/passwd driver = passwd-file } userdb { args = uid=vmail gid=vmail home=/var/vmail/%d/%n driver = static }
我不能將
-A
標誌與任何 doveadm 命令一起使用(而使用-u user
有效)。例如:$ doveadm expunge -A mailbox Trash all Error: User listing returned failure doveadm: Error: Failed to iterate through some users
鴿舍日誌顯示:
... dovecot[1225]: auth: Error: Trying to iterate users, but userdbs don't support it
有沒有辦法配置這種支持,或者這只是一個限制?
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。
::::::
(只需在目前文件的每一行附加六個冒號。)重新載入,您的
doveadm -A
命令成功。