Parece que o OpenSUSE atualizou o perfil apparmor padrão do dovecot para um que o impede de funcionar de várias maneiras. Evitar que o registro seja feito fora do syslog parece ser intencional, mas isso não é claramente o caso com os outros.
Para restaurar a funcionalidade, tive que adicionar permissões em vários arquivos em /etc/apparmor.d/local/
:
-
usr.lib.dovecot.auth
/run/dovecot/old-stats-user w,
-
usr.lib.dovecot.config
/var/lib/dovecot/ssl-parameters.dat r, capability dac_read_search,
-
usr.lib.dovecot.log
/var/log/dovecot w,
-
usr.sbin.dovecot
/usr/lib/dovecot/stats ix, /var/log/dovecot w,
A permissão w
é necessária para os logs porque o apparmor nega ac
e, até onde eu sei, não há como permitir a permissão para c
. Não consegui encontrar nenhuma indicação de que existe documentação com uma lista de permissões abertas, portanto, pode haver outra maneira de permitir "criar e anexar" diferente de w
.
Eu usei a permissão ix
para estatísticas em vez de Px
porque não há apparmor.d/user.lib.dovecot.stats
para incluir o arquivo correspondente em /etc/apparmor.d/local
e achei melhor restringir minhas edições ao local.
Tudo isso foi anotado no OpenSUSE Bug # 1087753 , vinculado no comentário do @ Psychonaut sobre o questão; é possível que o OpenSUSE melhore os padrões em uma atualização futura.
Nada disso resolve o problema que o logging para o syslog não funciona, mas as mudanças acima parecem ter o dovecot funcionando normalmente de novo.