Re: [capabilities] Allow normal inheritance for a configurable set of capabilities

Serge E. Hallyn
2015-02-03T15:52:47Z

Quoting Andy Lutomirski (luto@amacapital.net):
> On Mon, Feb 2, 2015 at 10:08 AM, Serge Hallyn <serge.hallyn@ubuntu.com> wrote:
> > Quoting Casey Schaufler (casey@schaufler-ca.com):
> >> I'm game to participate in such an effort. The POSIX scheme
> >> is workable, but given that it's 20 years old and hasn't
> >> developed real traction it's hard to call it successful.
> >
> > Over the years we've several times discussed possible reasons for this
> > and how to help. I personally think it's two things: 1. lack of
> > toolchain and fs support. The fact that we cannot to this day enable
> > ping using capabilities by default because of cpio, tar and non-xattr
> > filesystems is disheartening. 2. It's hard for users and applications
> > to know what caps they need. yes the API is a bear to use, but we can
> > hide that behind fancier libraries. But using capabilities requires too
> > much in-depth knowledge of precisely what caps you might need for
> > whatever operations library may now do when you asked for something.
>
> None of this could address the problem here, though: if I hold a
> capability and I want to pass that capability to an exec'd helper, I
> shouldn't need the fs's help to do this.

Yes you should. It's not about needing the fs's help, it's about the
binary on the exec being imbued with some part of the privilege. In TE
paralance it would be an entry point to the privilege. I'm not saying "that's
how it should be", just "that's how posix caps work".

So again I think the pA seems like an elegant way to work around this.
I'm interested in other ideas, but I worry about the proc solution Christoph
proposed because it would be system- or namespace-wide, rather than
per-process.