我无法登录我新近自托管的网络邮件,并且在 /var/log/mail.log 中收到以下条目
Feb 10 02:00:31 ip-172-26-15-53 dovecot: lmtp([email protected]): Error: open(
/etc/dovecot/sieve/before.d/no-spam.svbin.ip-172-26-15-53.31363.94959b0f9050164f) failed: R
ead-only file system
Feb 10 02:00:31 ip-172-26-15-53 dovecot: lmtp([email protected]): Error: wEGGI
j+5QF6DegAAAPOhIQ: sieve: binary save: failed to create temporary file: open(/etc/dovecot/s
ieve/before.d/no-spam.svbin.) failed: Read-only file system
这似乎是权限问题。我尝试了建议这里
我的安装位于/etc/dovecot
并且权限是
-rwxrwx--- 1 vmail dovecot
Dovecot 使用以下剧本安装在 Ubuntu 18.04(Amazon lightsail)上:
https://github.com/codecowboy/sovereign/blob/master/roles/mailserver/tasks/dovecot.yml
Dovecot 版本为 2.2.33.2 (d6601f4ec)
邮箱存储在 encfs 卷上
答案1
控制 dovecot 的 systemd 单元具有保護系統设置为完全或严格,这会阻止进程写入 /etc。
向单元文件添加/etc/systemd/system/multi-user.target.wants/dovecot.service
此目录的例外:
ReadWritePaths=/etc/dovecot/sieve/before.d/
重新加载单元:
systemctl daemon-reload
然后重启 dovecot:
systemctl restart dovecot
答案2
在某些内核中,使用 ReadWriteDirectories 而不是 ReadWritePaths。