我想检查 Postfix 活动队列。我使用的 php 脚本
$active = shell_exec('/bin/ls -1 /var/spool/postfix/active | /usr/bin/wc -l');
但在日志中我看到
/bin/ls: cannot open directory /var/spool/postfix/active: Permission denied
我需要添加哪个组 php 或 postfix 以避免此错误?
答案1
在 Debian 上,PHP 默认在 www-data:www-data 用户上运行。因此 /var/spool/postfix/active 不可访问,因为它归 postfix 所有。
因此,在执行此操作之前,您必须先获得 root 权限。
运行 a 可能会更容易mailq | egrep ^\*|wc -l
获得相同的结果而没有问题,因为 mailq 是 sendmail 的链接,由 root 运行。