entrypoint: public/ and maildrop/ of the queue stay in group postdrop
The entrypoint ends with chown -R postfix:postfix on the queue tree, on every start, after postfix set-permissions has run. That puts public/ and maildrop/ in group postfix; Postfix keeps them in its setgid group, and postqueue (setgid postdrop) reaches the showq socket through that group only. So the panel, which runs postqueue -p as its own user, got "Connect to the Postfix showq service: Permission denied": the Queue card of Overview said "Could not be read" and the queue page showed no listing. The data directory of the test server has carried the wrong group since 2026-08-18, so this is older than the redesign - the recursive chown came with the persistent queue in 1.3.0; Postfix itself logs "warning: not owned by group postdrop" for both at start. The two directories are handed back to postdrop after the chown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -157,5 +157,12 @@ if [ ! -d /data/postfix/queue/active ]; then
|
|||||||
postfix set-permissions
|
postfix set-permissions
|
||||||
fi
|
fi
|
||||||
chown -R postfix:postfix /data/postfix/queue
|
chown -R postfix:postfix /data/postfix/queue
|
||||||
|
# The recursive chown above would leave public/ and maildrop/ in group postfix.
|
||||||
|
# Postfix keeps those two in its setgid group: postqueue and postdrop are setgid
|
||||||
|
# postdrop and reach the showq socket and the maildrop directory through that
|
||||||
|
# group alone. With the wrong group `postqueue -p` run by the panel answers
|
||||||
|
# "Connect to the Postfix showq service: Permission denied" and the panel cannot
|
||||||
|
# read the queue (the Queue card and the Outbound queue page).
|
||||||
|
chgrp postdrop /data/postfix/queue/public /data/postfix/queue/maildrop
|
||||||
|
|
||||||
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
||||||
|
|||||||
Reference in New Issue
Block a user