From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966248AbbBCP5r (ORCPT ); Tue, 3 Feb 2015 10:57:47 -0500 Received: from h2.hallyn.com ([78.46.35.8]:42276 "EHLO h2.hallyn.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965089AbbBCP5q (ORCPT ); Tue, 3 Feb 2015 10:57:46 -0500 Date: Tue, 3 Feb 2015 16:51:22 +0100 From: "Serge E. Hallyn" To: Casey Schaufler Cc: Andy Lutomirski , Serge Hallyn , Christoph Lameter , Serge Hallyn , Jonathan Corbet , Aaron Jones , "Ted Ts'o" , LSM List , "linux-kernel@vger.kernel.org" , Andrew Morton Subject: Re: [capabilities] Allow normal inheritance for a configurable set of capabilities Message-ID: <20150203155122.GD2923@mail.hallyn.com> References: <54CFB9B8.8020701@schaufler-ca.com> <20150202180806.GE24351@ubuntumail> <54CFE3E8.2030402@schaufler-ca.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54CFE3E8.2030402@schaufler-ca.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Casey Schaufler (casey@schaufler-ca.com): > On 2/2/2015 12:37 PM, Andy Lutomirski wrote: > > On Mon, Feb 2, 2015 at 10:08 AM, Serge Hallyn 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. > > One of the holes in the 1003.1e spec is what to do with a program file > that does not have a capability set attached to it. The two options are > drop all capabilities and leave the capabilities alone. The latter gives > you what you're asking for. The former is arguably safer. Hm, so if we were to change that, what should we do in the case of (a) an fs which doesn't support xattrs, (2) expanding a tarball/cpio which didn't have xattrs (should tar/cpio fill them in with empty sets?), and (3) do we add a default empty set in the case of an fs mounted with NOSUID? It's an interesting notion.