小编Phi*_*ort的帖子

Postfix管道总是以nobody运行

问题

我希望 postfix 将电子邮件传送到一个脚本,该脚本对www-data位于/var/www/. 但是,我收到指示权限不足的错误消息。通过让脚本运行whoami,我可以确认它是由正确的用户运行的scriptuser(在我的/etc/postfix/transport文件中设置)。我还可以确认用户具有足够的访问权限,因为使用sudo -u scriptuser /path/to/script.

因此,我很困惑,也有点失落。用户怎么可能有访问文件的权限,脚本是由 Postfix 作为这个特定用户运行的,但我仍然收到permission denied消息?

我也尝试添加default_privs = www-data/etc/postfix/main.cf,如建议在这里,但没有成功。通过启用访问可以chmod o+rx完成这项工作,但我认为这具有潜在危险,因为任何对服务器具有 shell 访问权限的人都可以读取这些文件。

配置文件

# in file /etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
virtual_maps  = hash:/etc/postfix/virtual/addresses

# in file /etc/postfix/master.cf
mailreply   unix    -   n   n   -   -   pipe
  flags=FR user=scriptuser argv=/usr/lib/postfix/sbin/pipemailreply

# in file /etc/postfix/transport
mailreplyuser@localhost mailreply

# in file /etc/postfix/virtual/addresses
mydomain.com                     DOMAIN
@mydomain.com                    mailreplyuser@localhost …
Run Code Online (Sandbox Code Playgroud)

unix permissions email-server postfix www-data

7
推荐指数
1
解决办法
675
查看次数

标签 统计

email-server ×1

permissions ×1

postfix ×1

unix ×1

www-data ×1