Мало написать «не root» — надо ещё, чтобы он смог читать своё
Задача. Узел отправки, на котором MTA не должен работать от root, — а замеры на парке показали, что он работает от root.
Из чего складывается:
- run-as-root — false выбирает пользователя pmta; действует только после перезапуска;
- smtp-listener — для непривилегированного пользователя каждый слушатель должен стоять выше порта 1024;
- log-file — путь журнала, доступный пользователю pmta на запись.
Области у составляющих разные. Все три — уровня узла. Файловая сторона — владелец /etc/pmta, /var/lib/pmta, /var/log/pmta и других каталогов узла — вне конфигурации и относится к порядку действий.
Как они взаимодействуют. Требование к портам и требование к перезапуску руководство излагает в разных разделах, и ни один не упоминает другой. Вместе они объясняют, почему одна строка ничего не меняет. Вдобавок руководство советует поднять лимиты открытых файлов и процессов для пользователя pmta.
Главная ловушка — написать run-as-root false и перечитать конфигурацию. Строка действует только после перезапуска, а на портах 25 и 587 непривилегированный MTA слушатель не поднимет: узел либо останется под root, либо перестанет принимать почту.
Что делает Хаб. Не применяет. Строку run-as-root из шаблонов убрали 29.08.2026: без остальных частей схемы она ничего не меняла, а приёмник жалоб и отказов стоит на 25-м порту. Замеры 27.08 и 29.08 показали, что MTA на узлах работает от root.
Рекомендуемые значения
Три условия и проверка каждого:
| Условие |
Строка или действие |
Как убедиться |
| пользователь pmta |
run-as-root false и перезапуск |
ps -o user= -C pmtad |
| порты выше 1024 |
smtp-listener |
ss -ltnp |
| права на файлы |
владелец каталогов узла — pmta |
ls -ld /etc/pmta /var/lib/pmta /var/log/pmta |
Условия запуска без root, перезапуск и лимиты — из руководства (§ 2.2.1, § 3.3.1.9, § 3.3.1.27). Сама схема — наша гипотеза.
Пример в конфигурации
run-as-root false
smtp-listener 0/0:2525log-file /var/log/pmta/pmta.log
Порт 2525 — для примера; после правки нужен перезапуск службы, а не pmta reload.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.