Я использую 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
}
Я не могу использовать -A
флаг с любыми командами doveadm (тогда как использование -u user
работает). Например:
$ doveadm expunge -A mailbox Trash all
Error: User listing returned failure
doveadm: Error: Failed to iterate through some users
Журнал dovecot показывает:
... 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에는 콜론으로 구분 된 8 개의 필드가 있습니다. https://wiki2.dovecot.org/UserDatabase 를 참조하세요. (현재 파일의 각 줄에 6 개의 콜론 ::::::
을 추가하기 만하면됩니다.)
다시로드하면 doveadm -A
명령이 성공합니다.