From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:48610 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932527AbdBPQmf (ORCPT ); Thu, 16 Feb 2017 11:42:35 -0500 Date: Thu, 16 Feb 2017 11:42:33 -0500 From: Vivek Goyal To: James Bottomley Cc: Amir Goldstein , Djalal Harouni , Chris Mason , Theodore Tso , Josh Triplett , "Eric W. Biederman" , Andy Lutomirski , Seth Forshee , linux-fsdevel , linux-kernel , LSM List , Dongsu Park , David Herrmann , Miklos Szeredi , Alban Crequy , Al Viro , "Serge E. Hallyn" , Phil Estes Subject: Re: [RFC 1/1] shiftfs: uid/gid shifting bind mount Message-ID: <20170216164233.GC23490@redhat.com> References: <1486235880.2484.17.camel@HansenPartnership.com> <1486235972.2484.19.camel@HansenPartnership.com> <1486343891.2496.54.camel@HansenPartnership.com> <20170214230305.GC4017@redhat.com> <1487115955.3133.73.camel@HansenPartnership.com> <20170215141734.GA2101@redhat.com> <1487260318.2944.18.camel@HansenPartnership.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1487260318.2944.18.camel@HansenPartnership.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, Feb 16, 2017 at 07:51:58AM -0800, James Bottomley wrote: [..] > > Two levels of checks will simplify this a bit. Top level inode will > > belong to the user namespace of caller and checks should pass. And > > mounter's creds will have ownership over the real inode so no > > additional namespace shifting required there. > > That's the problem: for a marked mount, they don't. In this new model it does not fit directly. I was playing with a slightly different approach and modified patches so that real root still does the mounting and takes an mount option which specifies which user namespace we want to shift into. Thanks to Eric for the idea. mount -t shiftfs -o userns_fd= source shifted-fs In this case real-root is mounter and notion of using mounter's creds on real-inode works. This requires a user namespace to be created before shiftfs can be mounted and then container admin should be able to bind mount shifted-fs. In this model, intervention of real-root is still required to setup container and shiftfs. I guess that might not satisfy your needs where unprivileged user should be able to launch container and be able to make use of shiftfs, IIUC. Vivek