Как мне настроить doveadm -A с passdb?

Я использую 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

Есть ли способ настроить эту поддержку или это просто ограничение?

4
задан 10 November 2018 в 23:51
1 ответ

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 명령이 성공합니다.

3
ответ дан 3 December 2019 в 03:39

Теги

Похожие вопросы