Global
With the value true the line makes the engine’s logs readable by any user on the machine. The default is false.
It is worth knowing what exactly is exposed. With the detail switches on, the log contains sender and recipient addresses (log-commands writes the whole SMTP conversation), command contents, and with log-data every byte of correspondence in two forms at once.
The web monitor log is exposed too. It holds addresses denied access and, with http-log-requests, calls to the management interfaces.
There is one reason to enable it: the log is read by a service running as another user. And the same caveat applies as for accounting files: group permissions are more precise, but the directive has no such setting.
We have no need to read them from outside: telemetry arrives via webhook, and troubleshooting goes over SSH from the administrative account.
The answer is almost always “no”:
| Value | When |
|---|---|
| false (default) | always |
| true | the log is read by a service running as another user, and a group cannot be set up |
Before enabling it, look at which detail switches are set: with log-commands and log-data the price is different.
# a collection service reads the log as another user log-file /var/log/pmta/log log-file-world-readable true
what people get wrong and how it ends1 mistake▶
our experience
2 relations
Lock down permissions on configuration filesThe same permissions question as for the configuration file: a detailed log holds no less. § 1.6.3http-accessGlobalA world-readable monitor log shows the addresses that were denied — that is, it gives away the layout of the list itself. § 3.3.1.58.3
ls -l /var/log/pmta/
3 articles
◇Who is allowed to submit mail and for whom to accept itOut of the box, the node accepts submission only from the machine itself; two different questions — “who can send through us” and “for whose addresses we accept mail” — are answered by different directives.◇The group that grants management rightsMembership in the pmta group gives an unprivileged user the right to call the node’s commands and use submission.◇How the node selects a source and combines its settingsA connection falls under all source blocks whose addresses cover it, and they act merged — the narrow one overrides the wide one; named blocks are attached only by direct reference.