Dovecot выдаёт ошибку auth: Error: passwd-file({USER}@{HOST},{IP},<sid>): open(somepath/passwd) failed: Permission denied (euid=97(dovecot) egid=97(dovecot) missing +r perm: somepath/passwd, we're not in group 12(mail), dir owned by 93:12 mode=0771)

Аватар пользователя admin

И вот вы уже в CentOS 8, перенесли рабочую конфигурацию Dovecot с предыдущей версии, запустились, а аутентификация пользователя вдруг перестала работать! Смотрите в логе и видите сообщение об ошибке вида:

Dovecot выдаёт ошибку auth: Error: passwd-file({USER}@{HOST},{IP},<sid>): open(somepath/passwd) failed: Permission denied (euid=97(dovecot) egid=97(dovecot) missing +r perm: somepath/passwd, we're not in group 12(mail), dir owned by 93:12 mode=0771)

Как же так, возмущаетесь вы, ведь dovecot добавлен в группу mail в системе, а пишет, что

we're not in group 12(mail)

т.е. что dovecot почему-то не в группе mail. Далее в конфигах у вас есть директивы:

mail_uid = mail
mail_gid = mail
mail_privileged_group = mail
mail_access_groups = mail

а процесс пишет что работает с

(euid=97(dovecot) egid=97(dovecot)

И SELinux вы уже проверили, он выключен. Что происходит? Что за....?

Ну, конечно, наши дорогие и золотые разработчики снова подложили мину.  А дело-то в том, что теперь всего вышеперечисленного мало. Теперь надо ещё открыть файл /etc/dovecot/conf.d/10-master.conf, найти там секцию:

service auth {
  unix_listener auth-client {
    group = mail
    mode = 0660
    user = dovecot
  }
  user = dovecot
}

И добавить всего лишь одну строку. чтобы данная секция выглядела вот так:

service auth {
  extra_groups = mail

  unix_listener auth-client {
    group = mail
    mode = 0660
    user = dovecot
  }
  user = dovecot
}

Не забудьте перезапустить службу dovecot.

0
Ваш рейтинг: Нет