dynamic /bin /sbin

Robert Watson rwatson at FreeBSD.org
Fri Jul 25 14:16:29 PDT 2003

On Fri, 25 Jul 2003, Bosko Milekic wrote:

>   Personally, I myself prefer the so-called "IPC" approach to doing
>   nsswitch.  Namely, a daemon which is itself possibly
>   dynamically-linked and which may do caching, and where the libc code
>   talks to the daemon and has a local 'fallback' method.
>   FWIW, some guys at RSU (the russian RSU, Rostov State University)
>   claim to have some daemon code which puts us on the path towards
>   exactly the above-described model.  This model does not require a
>   dynamically-linked root.  I think that OS X does something along those
>   lines, too.

You are correct that, in general, OS X isolates services relating to
authentication and directory services in separate tasks (processes) and
uses IPC to communicate with them.  However, OS X also is entirely
dynamically linked, with (I believe) the exception of init.  The
authentication and authorization services in OS X are moving fairly
rapidly away from being entirely centered around NetInfo to being centered
around a set of well-defined Service APIs exposed via Mach IPC.  There
seem to be a few layers to addressing these problems correctly: define
APIs that provide sufficient generality to do what you want, then
determine the place the code executes by virtue of your more general
system architecture and requirements.  A reasonably written API on the
front-end should support whatever implementations you need on the back.
And ideally, you shouldn't have to rewrite your applications when you
change your mind.

In a system oriented more around light-weight IPC, isolating those
components makes a lot of sense to me.  However, one of the big problems I
keep bumping into in OS X, from a security perspective, is a lack of a
trustworthy IPC namespace -- this will likely keep biting them in various
forms.  Given the discussion here of improving the IPC infrastructure for
a more message-passing oriented system, I hope the benefits of a
hierarchal and security-aware IPC namespace won't be lost.  :-)

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at xxxxxxxxxxxxxxxxx      Network Associates Laboratories

More information about the Kernel mailing list