Dovecot no puede abrir el registro después de la actualización

Dovecot no puede abrir el registro después de la actualización

En un host OpenSUSE Tumbleweed, actualizado esta mañana. Después de la actualización y el reinicio, todos los intentos de iniciar Dovecot fallan.Can't open log file /var/log/dovecot: Permission denied

cat /etc/os-releaseincluye VERSION_ID="20180314" /usr/sbin/dovecot --versionrendimientos2.3.0.1 (ffd8a29)

Los paquetes de Dovecot actualmente instalados comienzan con dovecot-2.3-1.1y dovecot23-2.3.0.1-2.1. No estoy seguro de qué versión estaba instalada antes de la actualización, pero no podría tener más de una semana. La actualización no generó ningún .rpmnewarchivo similar.

Nada /etc/dovecotha cambiado en más de un año y este problema es nuevo hoy.

Las líneas sin comentarios de /etc/dovecot/conf.d/10-logging.conf:

log_path = /var/log/dovecot
auth_verbose = yes
auth_verbose_passwords = no
auth_debug = no
auth_debug_passwords = no
mail_debug = yes
plugin {
}
log_timestamp = "%Y-%m%b-%d%a.%H-%M-%S.%Z"
  • He relajado los permisos /var/log/dovecot*para777
  • He relajado los permisos /var/logpara775
  • He desactivado SELinux consetenforce 0
  • He desactivado la apariencia con service apparmor stop(y confirmado con service apparmor status)
  • Intenté cambiar la propiedad de /var/log/dovecot*a mailydovecot
  • he cambiado el nombre var/log/dovecotavar/log/dovecot.old

salida de ls -al /var/log/dovecot*:

-rwxrwxrwx 1 root root       10666 Aug 16  2016 /var/log/dovecot.debug
-rwxrwxrwx 1 root root        1483 Aug 16  2016 /var/log/dovecot.info
-rwxrwxrwx 1 root root 34118709509 Mar 17 12:28 /var/log/dovecot.old

El volumen no está completo (64%).

¿Por qué a Dovecot se le niega el permiso para abrir su registro?, y ¿cómo lo concedo?

Respuesta1

Parece que OpenSUSE actualizó el perfil de apariencia predeterminado para dovecot a uno que impide que funcione de varias maneras. Evitar que inicie sesión fuera de syslog parece ser intencional, pero ese no es claramente el caso con los demás.

Para restaurar la funcionalidad, tuve que agregar permisos en varios archivos en /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,
    

El wpermiso es necesario para los registros porque apparmor lo niega acy, hasta donde yo sé, no hay forma de otorgar permiso c. No pude encontrar ninguna indicación de que exista documentación con una lista de permisos abiertos, por lo que puede haber otra forma de permitir "crear y agregar" que no sea w.

Utilicé el ixpermiso para estadísticas en lugar de hacerlo Pxporque no es posible apparmor.d/user.lib.dovecot.statsincluir el archivo correspondiente /etc/apparmor.d/local, y pensé que sería mejor limitar mis ediciones a local.

Todo esto se ha observado enError #1087753 de OpenSUSE, vinculado en el comentario de @Psychonaut sobre la pregunta; Es posible que OpenSUSE mejore los valores predeterminados en una actualización futura.

Nada de esto soluciona el problema de que el inicio de sesión en syslog no funciona, pero los cambios anteriores parecen hacer que dovecot vuelva a funcionar normalmente.

información relacionada