[nsd-users] NSD still shows permission errors on Debian 10 Buster
Anand Buddhdev
anandb at ripe.net
Wed May 27 19:18:13 UTC 2020
On 27/05/2020 19:02, Simon Deziel wrote:
Hi Simon,
>> Are you certain of this? I have never seen any errors on my NSD systems.
>
> I reproduced it all in a Debian Buster VM before posting. Are you using
> the same systemd unit as Debian Buster's [*] ?
No, I'm running NSD on CentOS 7. I'm not using the unit file from
contrib. I find it a mess. It's trying to enable every possible option
in systemd, without taking care of all the related permission problems
they cause. I build my own packages of NSD, and ship a very simple unit
file with it:
[Unit]
Description=NSD DNS Server
After=network-online.target
[Service]
LimitNOFILE=8192
ExecStart=/usr/sbin/nsd -d
KillMode=process
[Install]
WantedBy=multi-user.target
>>> [Service]
>>> ExecStartPre=-/bin/chown --quiet root:root /var/log/nsd.log
>>
>> All of this seems to be band-aid upon band-aid of unnecessary hacks.
>
> That's a band-aid indeed. IMHO the proper fix is to be consistent in
> handling the file. So either open it as root and not chown it or always
> touch it after setuid().
I agree. In order to avoid problems, on my systems, I log to
/var/log/nsd, where that directory is owned by nsd:nsd.
>>> As for the failed unlinking of the pidfile, this is harmless and should
>>> not be logged as a warning. It may already be fixed in newer releases as
>>> it was done with Unbound already.
>>
>> PID files are so passé! They are irrelevant on systems where daemons are
>> run under supervisors. I would highly recommend setting "pidfile" to ""
>> in nsd.conf. This prevents creation of a PID file. Systemd already knows
>> the PID of the NSD process, and can signal it directly.
>
> Would it make sense to simply ignore the pidfile directive when running
> through systemd?
No. I don't like it when software silently does things. Instead, when
package maintainers build NSD for systems with systemd, they should pass
the --with-pidfile="" option to the configure script, so that by
default, NSD doesn't create PID files. If a user still wants a PID file
for some bizarre reason, he can set the "pidfile" option in nsd.conf.
And then deal with the permissions issues himself.
Regards,
Anand
More information about the nsd-users
mailing list