я бегу postfix
на Gentoo как демон почтовой программы. Во время расследования некоторого pileup очереди я обнаружил, что /usr/sbin/postqueue
исполняется всеми пользователями системы, он успешно выводит текущую почтовую очередь (с -q
) для всех пользователей.
Похоже, это более-менее задумано: postdrop
и postqueue
являются set-gid
бинарные файлы с группой postdrop
.
-rwx--s--x 1 root postdrop 15K Apr 10 23:49 postdrop
-rwx--s--x 1 root postdrop 15K Apr 10 23:49 postqueue
Они также могут быть выполнены other
, что-то postfix
кажется, требуется (вывод postfix check
):
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
Возможно, мне не хватает чего-то внутреннего, но, насколько я понимаю, обычные пользователи не должны иметь доступа к очереди, тем более что в этой конфигурации все адреса и домены установлены виртуально (через базу данных). Если бы пользователь опросил postqueue
регулярно он мог составить список <from>,<to>
адресные пары (postcat
ограничено, пользователи не могут получить доступ к содержимому почты).
exim
имеет параметр конфигурации с именем queue_list_requires_admin
, но я не могу найти что-то подобное для postfix. Можно ли с помощью постфикса ограничить доступ к очереди?
Postfix не использует функцию разрешений unix для ограничения доступа к postqueue
. Вместо этого он использует такие параметры, как 'authorized_mailq_users'
авторизованный_mailq_users (статический: любой)
Список пользователей, которым разрешено просматривать очередь.
Итак, если вы хотите ограничиться определенным пользователем, например: root, вы можете использовать
authorized_mailq_users = static:root
Для получения дополнительной информации см. man 1 postqueue