小编Gor*_*rić的帖子

如何强制maildrop以指定的用户和组从Postfix运行

我已经用maildrop替换了Postfix LDA。如果邮箱文件夹不存在,我正在使用的 maildroprc 脚本也会创建它们。

在我的 /etc/postfix/master.cf 中,我定义了 maildrop 服务

maildrop  unix  -       n       n       -       -       pipe
   flags=ODRhu user=vmail:daemon argv=/usr/bin/maildrop -w 90 -d ${user}@${nexthop}
   ${extension} ${recipient} ${user} ${nexthop}
Run Code Online (Sandbox Code Playgroud)

当此脚本为帐户创建文件夹时,其中的文件夹和文件属于“守护进程”组,并且 Courier IMAP 不想读取文件夹的内容,因为它期望 username:group 为 vmail:vmail。

如果我将 master.cf 中 maildrop 的服务定义更改为“vmail:vmail”,我会从 maildrop 收到错误

ERR: authdaemon: s_connect() failed: Permission denied Invalid user specified.
Run Code Online (Sandbox Code Playgroud)

并且邮件无法投递。我猜这是因为 maildrop 需要访问由“守护进程”组拥有的 /var/run/courier/authdaemon。但我真的不明白为什么 maildrop 需要访问 authdaemon 文件夹。

创建文件夹的 maildrop 脚本部分:

`test -e $HOME_DIR/$HOST/$USER`
#log "Testing for $HOME_DIR/$HOST subdirectory: result=$RETURNCODE"
# Only continue if directory does NOT exist
if …
Run Code Online (Sandbox Code Playgroud)

email postfix

3
推荐指数
1
解决办法
3613
查看次数

标签 统计

email ×1

postfix ×1