From: Efraim Flashner <efraim@flashner.co.il>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 31894-done@debbugs.gnu.org
Subject: bug#31894: Containerize openntpd service
Date: Tue, 26 Jun 2018 11:25:57 +0300 [thread overview]
Message-ID: <20180626082557.GA1537@macbook41> (raw)
In-Reply-To: <87d0wiy5ka.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 3231 bytes --]
On Fri, Jun 22, 2018 at 09:39:01PM +0200, Ludovic Courtès wrote:
> Hello Efraim,
>
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
> > I tested this patch with the included vm image, using the following
> > script. After logging in, 'ntpctl -s all' shows openntpd connecting to
> > the ntp servers and updating the time.
> >
> > /.$(./pre-inst-env guix environment guix -- ./pre-inst-env guix system vm ~/vm-image.scm) -m 768 -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:53
>
> [...]
>
> > From 064903c5a976280b95cd9bba17e958e662be605d Mon Sep 17 00:00:00 2001
> > From: Efraim Flashner <efraim@flashner.co.il>
> > Date: Tue, 19 Jun 2018 12:24:47 +0300
> > Subject: [PATCH] services: openntpd: Containerize openntpd service.
> >
> > * gnu/packages/ntp.scm (openntpd)[arguments]: Add 'privsep-path' to
> > 'configure-flags and adjust the 'localstatedir' flag.
> > * gnu/services/networking.scm (openntpd-shepherd-service): Change the
> > start-service command to run in a container, expose '/var/log/openntpd'
> > and '/var/lib/openntpd' to the container.
> > (openntpd-service-activation): Adjust directories for the changes above.
>
> Neat! The patch LGTM, especially since you’ve confirmed that it still
> works as expected. :-)
>
> One thing though: could you make sure containerization isn’t redundant
> with what OpenNTPD already does? Namely, could you grep the source for
> calls to “chroot”, “unshare”, or “seccomp”? If it happens to be already
> doing one of these things, it may be that using a container brings
> little or nothing.
>
> If it’s OK, please push!
From grepping the source:
./INSTALL-OpenNTPD always uses Privilege Separation (ie the majority of the
./INSTALL:processing is done as a chroot'ed, unprivileged user).
The code also supports the assertion.
it defaults to /var/empty, unless the --with-privsep-path=path flag is
set, so it looks like my patch is unnecessary after all. :)
>
> While I’m at it, one question about this comment (which was already there):
>
> > + ;; When ntpd is daemonized it repeatedly tries to respawn
> > + ;; while running, leading shepherd to disable it. To
> > + ;; prevent spamming stderr, redirect output to logfile.
> > + #:log-file "/var/log/ntpd"))
>
> What’s described here is expected: when it daemonizes, the initial
> process that shepherd spawned terminates immediately, which is why
> shepherd tries to respawn it (it cannot guess that there’s in fact a
> child process that keeps running.)
>
> The right thing to do for things that daemonize is to use the #:pid-file
> option, which instructs shepherd to poll that file. Should we do this
> here? There are many examples of that, including bitlbee, which is
> containerized.
>
I'll take a look at that and see if I can fix that.
> Thanks,
> Ludo’.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2018-06-26 8:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-19 9:31 [bug#31894] Containerize openntpd service Efraim Flashner
2018-06-22 19:39 ` Ludovic Courtès
2018-06-26 8:25 ` Efraim Flashner [this message]
2018-06-26 13:48 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180626082557.GA1537@macbook41 \
--to=efraim@flashner.co.il \
--cc=31894-done@debbugs.gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.