我已经设置了一个名为 postman 的本地用户,并使用 Thunderbird (IMAP) 登录。邮件错误日志中显示以下内容。
Dec 14 23:45:18 ams1 dovecot: lda(root): Fatal: Invalid user settings. Refer to server log for more information.
Dec 14 23:45:18 ams1 dovecot: lda(root): Error: chdir(/root/) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +x perm: /root, dir owned by 0:0 mode=0700)
Dec 14 23:45:18 ams1 dovecot: lda(root): Error: chdir(/root) failed: Permission denied
Dec 14 23:45:18 ams1 dovecot: lda(root): Error: user root: Initialization failed: Initializing mail storage from mail_location setting failed: stat(/root/Maildir) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +x perm: /root, dir owned by 0:0 mode=0700)
如何解决以及如何排除root使用邮件?
/etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
/etc/postfix/main.cf
home_mailbox = Maildir/
除了 /home 之外,有没有更好的方法来存储电子邮件?
答案1
向根 (MTA 别名) 发送电子邮件
标准安全建议指出,电子邮件root
应重定向至非特权用户->在 Postfix 配置中为其创建别名root
。
http://www.postfix.org/aliases.5.html
顺便说一句,有些文件系统(NFS?)将用户映射root
到用户nobody
。
答案2
Dovecot 有配置选项:
first_valid_uid = 26
last_valid_uid = 0
first_valid_gid = 6
last_valid_gid = 0
所有低于该值的 uid/gid 都被视为不可接受并导致传送错误。当然,您可以轻松将第一个有效 uid 更改为零,但如上所述,最好将所有 root 和系统邮件别名为某个非特权帐户,最好是虚拟帐户。