In message <9756f69e-c849-4a01-b7c0-4b89a57e1...@plan-b.pwste.edu.pl>, 
Marek Za
rychta writes:
> This is a multi-part message in MIME format.
> --------------AE7s5oJnhOW0uW76c0IQR0yC
> Content-Type: text/plain; charset=UTF-8; format=flowed
> Content-Transfer-Encoding: 8bit
>
> W dniu 11.03.2025 o 18:20, Cy Schubert pisze:
> > In message<f63d67b5-6e05-481f-9560-06150eb5a...@plan-b.pwste.edu.pl>,
> > Marek Za
> > rychta writes:
> >> W dniu 11.03.2025 o 17:29, Marek Zarychta pisze:
> >>> W dniu 11.03.2025 o 16:13, Cy Schubert pisze:
> >>>> In message<20250311011257.dd642ecbcd132ecb7142d...@dec.sakura.ne.jp>,
> >>>> Tomoaki
> >>>> AOKI writes:
> >>>>> On Mon, 10 Mar 2025 16:37:58 +0100
> >>>>> "Herbert J. Skuhra"<herb...@gojira.at> wrote:
> >>>>>
> >>>>>> On Mon, 10 Mar 2025 13:06:25 +0100, David Wolfskill wrote:
> >>>>>>> On Mon, Mar 10, 2025 at 01:51:40PM +0200, Marek Zarychta wrote:
> >>>>>>>> Hello List Subscirbers,
> >>>>>>>>
> >>>>>>>> in the past the module was loaded automatically upon NTPD server
> >>>>>>>> startu
> >>>>> p.
> >>>>>>>> It's no longer true, now it has to be loaded earlier.
> >>>>>>>> Perhaps people running stable/14 might find this message useful.
> >>>>>> Hmm, works for me on main and stable/14.
> >>>>>>
> >>>>>>> So... I noticed this for (precisely) one of the five machines I have
> >>>>>>> that track stable/14 -- the other 4 get mac_ntpd loaded
> >>>>>>> automagically as
> >>>>>>> usual.
> >>>>>>>
> >>>>>>> In the failing case, it seems that
> >>>>>>>
> >>>>>>>      sysctl security.mac.version
> >>>>>>>
> >>>>>>> yielded
> >>>>>>>
> >>>>>>>      sysctl: unknown oid 'security.mac.version'
> >>>>>> I only get this if I build a kernel without "options MAC". But in this
> >>>>>> no mac_* kernel modules are built and ntpd fails with:
> >>>>>>
> >>>>>> Starting ntpd.
> >>>>>> daemon control: got EOF
> >>>>>> /etc/rc.d/ntpd: WARNING: failed to start ntpd
> >>>>> In this case, you'll find something like
> >>>>>     Need MAC 'ntpd' policy enabled to drop root privileges
> >>>>>     daemon child exited with code 255
> >>>>> in ntpd logfile (/var/db/ntpd.log in my case, but
> >>>>> possibly /var/log/messages by default).
> >>>> I don't understand why some systems (those in this thread) have a
> >>>> problem
> >>>> not loading mac_ntpd while others, i.e. my stable/14 at $JOB, are
> >>>> fine. I'd
> >>>> like to try to understand the differences between those that work and
> >>>> those
> >>>> that don't.
> >>>>
> >>>> First of all, the ntpd rc script bails without saying why when it
> >>>> encounters a problem. can_run_nonroot() simply returns a bad return code
> >>>> leaving us to wonder why.
> >>>>
> >>>> The first order of business is to  produce a patch to indicate why it
> >>>> bails. Please apply the attached patch and let me know where it fails.
> >>>> Messages will be printed to stderr and to /var/log/messages (assuming
> >>>> daemon.err is sent there).
> >>>>
> >>>>> -- 
> >>>>> Tomoaki AOKI<junch...@dec.sakura.ne.jp>
> >>>>>
> >>>>
> >>>>
> >>>> Cheers,
> >>>> Cy Schubert<cy.schub...@cschubert.com>
> >>>> FreeBSD UNIX:<c...@freebsd.org>   Web:https://FreeBSD.org
> >>>> NTP:<c...@nwtime.org>    Web:https://nwtime.org
> >>>>
> >>>>              e^(i*pi)+1=0
> >>> Output from the patch:
> >>>
> >>> Mar 11 17:20:35 plan-b ntpd[60113]: ntpd 4.2.8p18-a (17): Starting
> >>> Mar 11 17:20:35 plan-b ntpd[60113]: Command line: /usr/sbin/ntpd -p
> >>> /var/db/ntp/ntpd.pid -c /etc/ntp.conf -u ntpd:ntpd
> >>> Mar 11 17:20:35 plan-b ntpd[60113]:
> >>> ----------------------------------------------------
> >>> Mar 11 17:20:35 plan-b ntpd[60113]: ntp-4 is maintained by Network
> >>> Time Foundation,
> >>> Mar 11 17:20:35 plan-b ntpd[60113]: Inc. (NTF), a non-profit 501(c)(3)
> >>> public-benefit
> >>> Mar 11 17:20:35 plan-b ntpd[60113]: corporation.  Support and training
> >>> for ntp-4 are
> >>> Mar 11 17:20:35 plan-b ntpd[60113]: available at
> >>> https://www.nwtime.org/support
> >>> Mar 11 17:20:35 plan-b ntpd[60113]:
> >>> ----------------------------------------------------
> >>> Mar 11 17:20:35 plan-b ntpd[60114]: switching logging to file
> >>> /var/log/ntp
> >>> Mar 11 17:20:36 plan-b ntpd[60113]: daemon child exited with code 255
> >>> Mar 11 17:20:36 plan-b root[60118]: /etc/rc.d/ntpd: WARNING: failed to
> >>> start ntpd
> >>>
> >>> Debugging output from from the unpatched /etc/rc.d/ntpd:
> >>>
> >>> (...)
> >>>
> >>> + echo 'Starting ntpd.'
> >>> Starting ntpd.
> >>> + [ -n '' ]
> >>> + _cd=''
> >>> + _doit=' /usr/sbin/ntpd  -p /var/db/ntp/ntpd.pid -c /etc/ntp.conf  -u
> >>> ntpd:ntpd'
> >>> + [ -n '' ]
> >>> + [ -n '' ]
> >>> + [ -n '' ]
> >>> + [ -n '' ]
> >>> + _doit=' limits -C daemon   /usr/sbin/ntpd  -p /var/db/ntp/ntpd.pid
> >>> -c /etc/ntp.conf  -u ntpd:ntpd'
> >>> + _run_rc_doit ' limits -C daemon   /usr/sbin/ntpd  -p
> >>> /var/db/ntp/ntpd.pid -c /etc/ntp.conf  -u ntpd:ntpd'
> >>> + local _m
> >>> + debug 'run_rc_command: doit:  limits -C daemon   /usr/sbin/ntpd -p
> >>> /var/db/ntp/ntpd.pid -c /etc/ntp.conf  -u ntpd:ntpd'
> >>> + umask
> >>> + _m=0022
> >>> +
> >>> + eval ' limits -C daemon   /usr/sbin/ntpd  -p /var/db/ntp/ntpd.pid -c
> >>> /etc/ntp.conf  -u ntpd:ntpd'
> >>> + limits -C daemon /usr/sbin/ntpd -p /var/db/ntp/ntpd.pid -c
> >>> /etc/ntp.conf -u ntpd:ntpd
> >>> daemon control: got EOF
> >>> + _return=255
> >>> + umask 0022
> >>> + [ 255 -ne 0 ]
> >>> + [ -z '' ]
> >>> + return 1
> >>> + warn 'failed to start ntpd'
> >>> + [ -x /usr/bin/logger ]
> >>> + logger '/etc/rc.d/ntpd: WARNING: failed to start ntpd'
> >>> + echo '/etc/rc.d/ntpd: WARNING: failed to start ntpd'
> >>> /etc/rc.d/ntpd: WARNING: failed to start ntpd
> >>> + return 1
> >>>
> >> The real problem is here:
> >> + [ -n '' ]
> >> + local 'fileopts=^[ \t]*crypto|^[ \t]*driftfile|^[ \t]*key|^[
> >> \t]*logfile|^[ \t]*statsdir'
> >> + grep -E -q '^[ \t]*crypto|^[ \t]*driftfile|^[ \t]*key|^[
> >> \t]*logfile|^[ \t]*statsdir' /etc/ntp.conf
> >> + return 1
> >>
> >> To reproduce: use config matching the regex from the above, for example
> >> add line:
> >>
> >> logfile /var/log/ntp.log
> >>
> >> to the ntp.conf
> >>
> >> 15-CURRENT is also affected this way. That's a bit odd that nobody
> >> reported it yet.
> >>
> >> Problems made by can_run_nonroot function can be fixed by removing lines
> >> 60-64 from the starting script.
> >>
> >> https://github.com/freebsd/freebsd-src/blob/main/libexec/rc/rc.d/ntpd#L63
> > What is in your ntpd_config in rc.conf?
> # grep ntpd_config /etc/rc.conf /etc/defaults/rc.conf
> /etc/defaults/rc.conf:ntpd_config="/etc/ntp.conf"    # ntpd(8) 
> configuration file

Without the patch I replied with, we're back to guessing. Yet, every feels 
the problem is in a different part of the rc script.

The mystery is why are all my instances (13, 14, 15) working and yours not?

I have reverted the commit. A rewrite of the rc script will be required in 
order to implement ntpd's chroot.

>
> -- 
> Marek Zarychta


-- 
Cheers,
Cy Schubert <cy.schub...@cschubert.com>
FreeBSD UNIX:  <c...@freebsd.org>   Web:  https://FreeBSD.org
NTP:           <c...@nwtime.org>    Web:  https://nwtime.org

                        e^(i*pi)+1=0



Reply via email to