Postfix 中自定义内容过滤器的“权限被拒绝”

Postfix 中自定义内容过滤器的“权限被拒绝”

我为 Postfix 创建了一个简单的内容过滤器作为 Python 脚本:

$ ls -al /home/main_user/test1.py
-rwxr-xr-x 1 vmail2 nobody /home/main_user/test1.py

/etc/postfix/master.cf有这个:

smtp      inet  n       -       n       -       -       smtpd 
  -o content_filter=filter1:dummy

# [........................]

filter1    unix  -       n       n       -       10      pipe
    flags=Rq user=vmail2 null_sender=
    argv=/home/main_user/test1.py -f ${sender} ${recipient}

Postfix 日志中的错误:

fatal: pipe_command: execvp /home/main_user/test1.py Permission denied

虚拟邮箱2- 是没有主目录的用户。我专门为此任务创建了它:

$ id vmail2
uid=5002(vmail2) gid=5002(vmail2) groups=5002(vmail2)

为什么会失败以及如何修复?

更新1:

“家”的许可:

$ ls -ald ~
drwx------ 12 main_user main_user 4096  /home/main_user

答案1

这几乎说明了一切。

致命:pipe_command:execvp /home/main_user/test1.py 权限被拒绝

用户vmail2无权访问/home/main_user

我可能会chown :vmail2 /home/main_user; chmod g+rx /home/main_user确保至少对该组test1.py具有组读取和组执行权限vmail2

相关内容