Re: [RFC 1/1] shiftfs: uid/gid shifting bind mount
From: Christoph Hellwig
Date: Tue Feb 07 2017 - 04:19:48 EST
On Sat, Feb 04, 2017 at 11:19:32AM -0800, James Bottomley wrote:
> This allows any subtree to be uid/gid shifted and bound elsewhere. It
> does this by operating simlarly to overlayfs. Its primary use is for
> shifting the underlying uids of filesystems used to support
> unpriviliged (uid shifted) containers. The usual use case here is
> that the container is operating with an uid shifted unprivileged root
> but sometimes needs to make use of or work with a filesystem image
> that has root at real uid 0.
>
> The mechanism is to allow any subordinate mount namespace to mount a
> shiftfs filesystem (by marking it FS_USERNS_MOUNT) but only allowing
> it to mount marked subtrees (using the -o mark option as root). Once
> mounted, the subtree is mapped via the super block user namespace so
> that the interior ids of the mounting user namespace are the ids
> written to the filesystem.
Please move this into VFS instead of a stackable fs. We might need
addtional parameters to getattr/setattr to specify the ID translation,
but that's why better than a horrible hack like this.