From: Casey Schaufler <casey@schaufler-ca.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Serge Hallyn <serge.hallyn@canonical.com>,
"Andrew G. Morgan" <morgan@kernel.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
linux-kernel@vger.kernel.org,
linux-security-module@vger.kernel.org,
Kees Cook <keescook@chromium.org>,
James Morris <james.l.morris@oracle.com>,
Eric Paris <eparis@redhat.com>,
"Serge E. Hallyn" <serge@canonical.com>,
Markku Savela <msa@moth.iki.fi>,
Casey Schaufler <casey@schaufler-ca.com>
Subject: Re: [RFC] Capabilities still can't be inherited by normal programs
Date: Mon, 10 Dec 2012 11:13:32 -0800 [thread overview]
Message-ID: <50C6345C.8040804@schaufler-ca.com> (raw)
In-Reply-To: <CALCETrWNboHVRm_aZ-Fvqri6PW3C4FPfuLLe3-8q7+-vgEP2nw@mail.gmail.com>
On 12/10/2012 10:12 AM, Andy Lutomirski wrote:
> On Mon, Dec 10, 2012 at 7:47 AM, Casey Schaufler <casey@schaufler-ca.com> wrote:
>> Put an ACL on the program file.
>> If you want different users to run with different privilege
>> make two copies of the program and give them different
>> ACLs and cap sets.
>> If your program is so big that making a copy is a disk space issue
>> it is too big to have privilege.
>> If you can't deal with having the have different paths for different
>> users write a shell script that redirects to the correct version
>> based on user id.
>>
>> This is not rocket science. The kernel shouldn't be crammed
>> with mechanism and complexity just because disto/"OS"/site
>> developers can't be bothered with learning how the existing
>> facilities work.
> I agree. But I think that the existing capability support is already
> overcomplicated, and I'd rather make it simpler. Sticking the
> complexity in userspace is too difficult right now because it requires
> fiddling with the file inheritable mask.
>
> I think that the Windows approach is worth looking at. See here:
>
> http://msdn.microsoft.com/en-us/library/windows/desktop/aa375202%28v=vs.85%29.aspx
>
> In the Windows model, each capability ("privilege") can be in one of
> three states: enabled (i.e working right now),
Effective
> permitted (i.e.
> available upon request but not currently enabled),
Permitted
> or removed
> (disallowed to this process and all of its children).
~Inherited
> Permitted
> privileges are always inherited when a child process is created.
>
> This is *way* simpler than Linux's model, and it works just fine*.
I see a different set of complications, and Windows never had
a setuid bit to contend with. God created the universe in seven
days, but then, He didn't have an installed base.
next prev parent reply other threads:[~2012-12-10 19:13 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-02 3:04 [RFC] Capabilities still can't be inherited by normal programs Andy Lutomirski
2012-12-02 17:21 ` Andrew G. Morgan
2012-12-02 18:35 ` Andy Lutomirski
2012-12-02 22:26 ` Andrew G. Morgan
2012-12-02 23:04 ` Andy Lutomirski
2012-12-03 2:20 ` Andrew G. Morgan
2012-12-03 4:48 ` Andy Lutomirski
2012-12-04 13:54 ` Serge E. Hallyn
2012-12-05 19:32 ` Andy Lutomirski
2012-12-05 20:12 ` Markku Savela
2012-12-05 21:05 ` Serge Hallyn
2012-12-05 21:46 ` Andy Lutomirski
2012-12-05 22:20 ` Serge Hallyn
2012-12-07 0:57 ` Casey Schaufler
2012-12-07 14:42 ` Serge E. Hallyn
2012-12-07 17:00 ` Casey Schaufler
2012-12-07 17:07 ` Andrew G. Morgan
2012-12-07 18:39 ` Andy Lutomirski
2012-12-08 22:33 ` Andrew G. Morgan
2012-12-08 23:37 ` Andy Lutomirski
2012-12-08 23:57 ` Andy Lutomirski
2012-12-12 18:29 ` Andy Lutomirski
2012-12-12 18:45 ` Serge Hallyn
2012-12-19 13:14 ` Pádraig Brady
2012-12-10 14:59 ` Serge Hallyn
2012-12-10 15:47 ` Casey Schaufler
2012-12-10 16:27 ` Serge Hallyn
2012-12-10 18:12 ` Andy Lutomirski
2012-12-10 19:13 ` Casey Schaufler [this message]
2012-12-10 19:31 ` Andy Lutomirski
2012-12-10 19:51 ` Casey Schaufler
2012-12-10 19:55 ` Andy Lutomirski
2012-12-10 20:17 ` Kees Cook
2012-12-10 18:05 ` Andy Lutomirski
2012-12-10 14:36 ` Serge Hallyn
[not found] ` <CALQRfL6UWLFpTfvan9oirtLdozJqZX4oZwDuQFVnJp8MP06C_Q@mail.gmail.com>
2012-12-10 14:27 ` Serge Hallyn
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=50C6345C.8040804@schaufler-ca.com \
--to=casey@schaufler-ca.com \
--cc=eparis@redhat.com \
--cc=james.l.morris@oracle.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=morgan@kernel.org \
--cc=msa@moth.iki.fi \
--cc=serge.hallyn@canonical.com \
--cc=serge@canonical.com \
--cc=serge@hallyn.com \
/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.
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.