Ubuntu 18.04,运行 postfix 和 procmail 我有一个 .procmailrc 和一个 .forward 等等。我将 procmail 配置为记录到特定文件,而让它工作的唯一方法是将该文件设置为全球可读可写。显然这不好。我如何确定 procmail 使用哪个用户帐户访问文件,以便我可以将其锁定到该帐户?(root:root 和 644 没有工作......)
我对 procmail recipe 调用的 python 脚本编写的文件有同样的问题 - 到目前为止让它工作的唯一方法是将文件设为 777。同样,我不知道如何找出 python 脚本运行时哪个帐户正在尝试访问此文件。
ETA:.procmailrc 如下:
# Set to yes when debugging
VERBOSE=yes
# Default INBOX
INBOX=$MAIL
# Directory for storing procmail-related files
PMDIR=$HOME/procmail
# Uncomment the following line to get logging
LOGFILE=/var/log/procmail/pmlog
:0wc:
| /usr/bin/python /home/[MyUsername]/scripts/mailproc.py
mailproc.py 是一个简单的 python 脚本,它对电子邮件消息进行后处理以达到特定目的。我在 py 文件中添加了对“whoami”的调用,发现 py 在拥有 procmailrc 文件的用户下运行。
但我仍然搞不清楚谁应该拥有 procmail 日志文件。将其设为 root:root 和 644 是行不通的。
答案1
普通用户无法以合理的方式写入系统日志文件。
作为部分解决方法,您可以做的是LOGFILE
根本不设置。 Procmail 仍会将日志条目写入标准错误,因此也许该输出将被发送到 Postfix 日志文件(或者您可以添加显式重定向到运行的指定位置procmail
)。
一个更简单、更明显的解决方案是让用户将.procmailrc
日志文件写入他们的主目录,显然他们通常具有写访问权限。