From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71F95C433E0 for ; Sat, 16 Jan 2021 00:28:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 36E0723A01 for ; Sat, 16 Jan 2021 00:28:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726755AbhAPA2N (ORCPT ); Fri, 15 Jan 2021 19:28:13 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:60998 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726176AbhAPA2N (ORCPT ); Fri, 15 Jan 2021 19:28:13 -0500 Received: from ip5f5af0a0.dynamic.kabel-deutschland.de ([95.90.240.160] helo=wittgenstein) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1l0ZR2-0002Mr-95; Sat, 16 Jan 2021 00:27:20 +0000 Date: Sat, 16 Jan 2021 01:27:18 +0100 From: Christian Brauner To: Theodore Ts'o Cc: Christoph Hellwig , Dave Chinner , "Darrick J. Wong" , Alexander Viro , linux-fsdevel@vger.kernel.org, John Johansen , James Morris , Mimi Zohar , Dmitry Kasatkin , Stephen Smalley , Casey Schaufler , Arnd Bergmann , Andreas Dilger , OGAWA Hirofumi , Geoffrey Thomas , Mrunal Patel , Josh Triplett , Andy Lutomirski , Alban Crequy , Tycho Andersen , David Howells , James Bottomley , Seth Forshee , St?phane Graber , Linus Torvalds , Aleksa Sarai , Lennart Poettering , "Eric W. Biederman" , smbarber@chromium.org, Phil Estes , Serge Hallyn , Kees Cook , Todd Kjos , Paul Moore , Jonathan Corbet , containers@lists.linux-foundation.org, linux-security-module@vger.kernel.org, linux-api@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, linux-integrity@vger.kernel.org, selinux@vger.kernel.org Subject: Re: [PATCH v5 00/42] idmapped mounts Message-ID: <20210116002718.jjs6eov65cvwrata@wittgenstein> References: <20210112220124.837960-1-christian.brauner@ubuntu.com> <20210114171241.GA1164240@magnolia> <20210114204334.GK331610@dread.disaster.area> <20210115162423.GB2179337@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-api@vger.kernel.org On Fri, Jan 15, 2021 at 12:51:20PM -0500, Theodore Ts'o wrote: > On Fri, Jan 15, 2021 at 04:24:23PM +0000, Christoph Hellwig wrote: > > > > That is what the capabilities are designed for and we already check > > for them. > > So perhaps I'm confused, but my understanding is that in the > containers world, capabilities are a lot more complicated. There is: > > 1) The initial namespace capability set > > 2) The container's user-namespace capability set > > 3) The namespace in which the file system is mounted --- which is > "usually, but not necessarily the initial namespace" and > presumably could potentially not necessarily be the current > container's user name space, is namespaces can be hierarchically > arranged. > > Is that correct? If so, how does this patch set change things (if > any), and and how does this interact with quota administration > operations? The cases you listed are correct. The patchset doesn't change them. Simply put, the patchset doesn't alter capability checking in any way. > > On a related note, ext4 specifies a "reserved user" or "reserved > group" which can access the reserved blocks. If we have a file system > which is mounted in a namespace running a container which is running > RHEL or SLES, and in that container, we have a file system mounted (so > it was not mounted in the initial namespace), with id-mapping --- and > then there is a further sub-container created with its own user > sub-namespace further mapping uids/gids --- will the right thing > happen? For that matter, how *is* the "right thing" defined? In short, nothing changes. Whatever happened before happens now. Specifically s_resuid/s_resgid are superblock mount options and so never change on a per-mount basis and thus also aren't affected by idmapped mounts. > > Sorry if this is a potentially stupid question, but I find user > namespaces and id and capability mapping to be hopefully confusing for > my tiny brain. :-) No, I really appreciate the questions. :) My brain can most likely handle less. :) Christian