有一台使用 postfix/dovecot 和 CentOS 6.5/6.6 的服务器,过去几个月一切都运行良好,直到 raid 控制器失败。所以我使用 CentOS 7 安装了一个新服务器。我使用 adduser 创建了用户(幸运的是只有一个句柄)并复制了包括邮件在内的主目录内容,并将所有者设置为 user:user 和 770 权限。
在每个用户的主文件夹中都有一个 Maildir 目录,该目录设置为:
drwxrwx--- 9 enduser postfix 4096 Nov 19 22:34 Maildir
Run Code Online (Sandbox Code Playgroud)
所有子目录为 770,文件为 660。
我遇到的问题是 Postfix 无法写入 Maildir:
Nov 21 07:47:16 host postfix/local[12504]: warning: maildir access problem for UID/GID=1002/1002: create maildir file /home/enduser/Maildir/tmp/1416584836.P12504.host.domain.com: Permission denied
Nov 21 07:47:16 host postfix/local[12504]: 59E944726D1: to=<enduser@domain.com>, relay=local, delay=185, delays=185/0.02/0/0.05, dsn=5.2.0, status=bounced (maildir delivery failed: create maildir file /home/enduser/Maildir/tmp/1416584836.P12504.host.domain.com: Permission denied)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有我能想到的权限组合,除了 777。
任何方向或光线将不胜感激,
~ 兰
/home/最终用户树:
.
+-- enduser
+-- Maildir
+-- cur
+-- new
+-- tmp
Run Code Online (Sandbox Code Playgroud)
为了传递邮件,postfix 必须能够进入用户的主目录,并且该目录必须包含一个完整的 Maildir 树,其中包含子文件夹tmp、cur和new,所有子文件夹都具有正确的权限。
由于您已经检查过 Maildir 是否存在、具有正确的文件夹并具有正确的权限,剩下的就是检查 postfix(和用户本身)是否可以进入用户的主目录。
为了使其工作,权限必须在每一步都是正确的。因此,不仅/home/user需要拥有正确的权限 - /home. 它必须设置为 750(如果它由用户所属的组所有)或 755(如果不是)。
您可以通过简单地向用户 su 并尝试进入他们的主目录来验证这一点。
| 归档时间: |
|
| 查看次数: |
13692 次 |
| 最近记录: |