doveadm поиск запроса со всеми флагами -A

Вопрос или проблема

Я могу искать старые письма для одного пользователя:

doveadm search -u '[email protected]' mailbox Trash savedbefore 180d

возвращает результаты

f35jv2jh35vj2v5jh2v53…. 31
f35jv2jh35vj2v5jh2v53…. 42
…

То же самое поиск для всех пользователей ничего не возвращает (нет вывода):

doveadm search -A mailbox Trash savedbefore 180d

Я не получаю вывода, никаких ошибок…

Мне пришлось настроить две переменные, чтобы опция -A работала:

-A: При использовании модуля LDAP userdb убедитесь, что настройки iterate_attrs и iterate_filter в /etc/dovecot/dovecot-ldap.conf.ext соответствуют вашей LDAP-схеме. В противном случае doveadm(1) не сможет перебрать всех пользователей.

Пример конфигурации в файле dovecot-ldap.conf.ext:

# Для использования doveadm -A:
iterate_attrs = =user=%{ldap:uid}
iterate_filter = (objectClass=posixAccount)

Источник: Dovecot Wiki: Userdb LDAP

Ответ или решение

Когда вы используете команду doveadm search с флагом -A, вы пытаетесь выполнить поиск по почтовым ящикам всех пользователей, зарегистрированных в вашей системе Dovecot. Однако, как вы уже заметили, без правильной настройки параметров, связанных с LDAP, вы можете не получить никаких результатов.

Проблема

Команда, которую вы использовали:

doveadm search -A mailbox Trash savedbefore 180d

не возвращает никаких результатов, поскольку Dovecot не может корректно итеративно обойти всех пользователей. Это часто связано с неправильной конфигурацией параметров iterate_attrs и iterate_filter в файле настроек LDAP.

Решение

Чтобы решить данную проблему, необходимо убедиться, что вы правильно настроили параметры итерации в файле конфигурации /etc/dovecot/dovecot-ldap.conf.ext. Вам нужно установить следующие значения:

iterate_attrs = =user=%{ldap:uid}
iterate_filter = (objectClass=posixAccount)

Эти параметры отвечают за правильное извлечение всех пользователей из вашей LDAP базы данных. iterate_attrs указывает, как Dovecot должен извлекать атрибуты пользователя, а iterate_filter определяет, какие записи следует считать пользователями в LDAP.

Контрольные шаги

  1. Проверьте правильность настроек: Убедитесь, что dovecot-ldap.conf.ext настроен в соответствии с вашей LDAP-схемой.

  2. Проверьте доступность LDAP: Убедитесь, что Dovecot может подключиться к вашему серверу LDAP и что ваши учетные данные корректны. Протестируйте подключение к LDAP с помощью командной строки, если это необходимо.

  3. Перезагрузите Dovecot: После изменений в конфигурации перезагрузите службу Dovecot, чтобы применить настройки:

    sudo systemctl restart dovecot
  4. Проверьте логи Dovecot: Если после всех изменений проблема остается, проверьте логи Dovecot (обычно находятся в /var/log/mail.log или /var/log/dovecot.log). Это может дать больше информации о происходящем.

Заключение

После выполнения этих шагов, выполните команду doveadm search -A mailbox Trash savedbefore 180d еще раз. Этот процесс должен вернуть результаты, если все настройки выполнены корректно, и у вас есть доступ к почтовым ящикам всех пользователей.

Если проблема все еще не решена, стоит проверить дополнительные параметры конфигурации Dovecot или обратиться за помощью на специализированные форумы и обсуждения, такие как Dovecot Wiki или сообщество пользователей Dovecot, чтобы получить дополнительную поддержку.

Оцените материал
Добавить комментарий

Капча загружается...