Dovecot은 업그레이드 후 로그를 열 수 없습니다.

Dovecot은 업그레이드 후 로그를 열 수 없습니다.

OpenSUSE Tumbleweed 호스트에서 오늘 아침에 업데이트되었습니다. 업데이트 및 재부팅 후 dovecot을 시작하려는 모든 시도가 실패합니다.Can't open log file /var/log/dovecot: Permission denied

cat /etc/os-releaseVERSION_ID="20180314" /usr/sbin/dovecot --version수확량을 포함2.3.0.1 (ffd8a29)

현재 설치된 Dovecot 패키지는 dovecot-2.3-1.1및 로 시작합니다 dovecot23-2.3.0.1-2.1. 업데이트 이전에 어떤 버전이 설치되었는지는 확실하지 않지만 일주일이 넘지 않았을 수 있습니다. 업데이트로 인해 .rpmnew유사한 파일이 생성되지 않았습니다.

/etc/dovecot1년이 넘도록 아무것도 바뀌지 않았으며 이 문제는 오늘날 새로운 문제입니다.

주석이 아닌 줄은 다음과 같습니다 /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"
  • /var/log/dovecot*다음에 대한 권한을 완화했습니다 .777
  • /var/log다음에 대한 권한을 완화했습니다 .775
  • SELinux를 비활성화했습니다.setenforce 0
  • 나는 로 의류를 비활성화했습니다 service apparmor stop(그리고 로 확인했습니다 service apparmor status)
  • 나는 소유권을 /var/log/dovecot*다음 으로 변경하려고 시도했습니다 mail.dovecot
  • 나는 다음 var/log/dovecot과 같이 이름을 바꾸었습니다.var/log/dovecot.old

출력 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

볼륨이 가득 차지 않았습니다(64%).

Dovecot이 로그를 열 수 있는 권한을 거부하는 이유는 무엇입니까?, 어떻게 부여하나요?

답변1

OpenSUSE가 dovecot의 기본 의류 프로필을 여러 가지 방식으로 작동하지 못하게 하는 프로필로 업데이트한 것 같습니다. syslog 외부에 로그인하는 것을 방지하는 것은 의도적인 것처럼 보이지만 다른 경우에는 그렇지 않습니다.

기능을 복원하려면 다음의 여러 파일에 권한을 추가해야 했습니다 /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,
    

의류가 거부 하고 내가 알 수 있는 한 에 대한 권한을 허용할 방법이 없기 때문에 로그에 대한 권한 w이 필요합니다 . 공개 권한 목록이 있는 문서가 있다는 표시를 찾을 수 없으므로 .accw

에 해당 파일을 포함시킬 파일이 없기 때문에 ix보다는 통계에 대한 권한을 사용했으며 편집 내용을 로컬로 제한하는 것이 더 낫다고 생각했습니다.Pxapparmor.d/user.lib.dovecot.stats/etc/apparmor.d/local

이 모든 내용은 에 기록되어 있습니다.OpenSUSE 버그 #1087753, 질문에 대한 @Psychonaut의 의견에 링크되어 있습니다. OpenSUSE는 향후 업데이트에서 기본값을 개선할 가능성이 있습니다.

이 중 어느 것도 syslog에 로깅이 작동하지 않는 문제를 해결하지 못하지만 위의 변경 사항으로 인해 dovecot이 다시 정상적으로 작동하는 것 같습니다.

관련 정보