Skip to content
  • Christian Brauner's avatar
    4b789936
    fat: handle idmapped mounts · 4b789936
    Christian Brauner authored
    Let fat handle idmapped mounts. This allows to have the same fat mount
    appear in multiple locations with different id mappings. This allows to
    expose a vfat formatted USB stick to multiple user with different ids on
    the host or in user namespaces allowing for dac permissions:
    
    mount -o uid=1000,gid=1000 /dev/sdb /mnt
    
    u1001@f2-vm:/lower1$ ls -ln /mnt/
    total 4
    -rwxr-xr-x 1 1000 1000 4 Oct 28 03:44 aaa
    -rwxr-xr-x 1 1000 1000 0 Oct 28 01:09 bbb
    -rwxr-xr-x 1 1000 1000 0 Oct 28 01:10 ccc
    -rwxr-xr-x 1 1000 1000 0 Oct 28 03:46 ddd
    -rwxr-xr-x 1 1000 1000 0 Oct 28 04:01 eee
    
    mount-idmapped --map-mount b:1000:1001:1
    
    u1001@f2-vm:/lower1$ ls -ln /lower1/
    total 4
    -rwxr-xr-x 1 1001 1001 4 Oct 28 03:44 aaa
    -rwxr-xr-x 1 1001 1001 0 Oct 28 01:09 bbb
    -rwxr-xr-x 1 1001 1001 0 Oct 28 01:10 ccc
    -rwxr-xr-x 1 1001 1001 0 Oct 28 03:46 ddd
    -rwxr-xr-x 1 1001 1001 0 Oct 28 04:01 eee
    
    u1001@f2-vm:/lower1$ touch /lower1/fff
    
    u1001@f2-vm:/lower1$ ls -ln /lower1/fff
    -rwxr-xr-x 1 1001 1001 0 Oct 28 04:03 /lower1/fff
    
    u1001@f2-vm:/lower1$ ls -ln /mnt/fff
    -rwxr-xr-x 1 1000 1000 0 Oct 28 04:03 /mnt/fff
    
    Link: https://lore.kernel.org/r/20210121131959.646623-38-christian.brauner@ubuntu.com
    
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: linux-fsdevel@vger.kernel.org
    Signed-off-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
    4b789936
    fat: handle idmapped mounts
    Christian Brauner authored
    Let fat handle idmapped mounts. This allows to have the same fat mount
    appear in multiple locations with different id mappings. This allows to
    expose a vfat formatted USB stick to multiple user with different ids on
    the host or in user namespaces allowing for dac permissions:
    
    mount -o uid=1000,gid=1000 /dev/sdb /mnt
    
    u1001@f2-vm:/lower1$ ls -ln /mnt/
    total 4
    -rwxr-xr-x 1 1000 1000 4 Oct 28 03:44 aaa
    -rwxr-xr-x 1 1000 1000 0 Oct 28 01:09 bbb
    -rwxr-xr-x 1 1000 1000 0 Oct 28 01:10 ccc
    -rwxr-xr-x 1 1000 1000 0 Oct 28 03:46 ddd
    -rwxr-xr-x 1 1000 1000 0 Oct 28 04:01 eee
    
    mount-idmapped --map-mount b:1000:1001:1
    
    u1001@f2-vm:/lower1$ ls -ln /lower1/
    total 4
    -rwxr-xr-x 1 1001 1001 4 Oct 28 03:44 aaa
    -rwxr-xr-x 1 1001 1001 0 Oct 28 01:09 bbb
    -rwxr-xr-x 1 1001 1001 0 Oct 28 01:10 ccc
    -rwxr-xr-x 1 1001 1001 0 Oct 28 03:46 ddd
    -rwxr-xr-x 1 1001 1001 0 Oct 28 04:01 eee
    
    u1001@f2-vm:/lower1$ touch /lower1/fff
    
    u1001@f2-vm:/lower1$ ls -ln /lower1/fff
    -rwxr-xr-x 1 1001 1001 0 Oct 28 04:03 /lower1/fff
    
    u1001@f2-vm:/lower1$ ls -ln /mnt/fff
    -rwxr-xr-x 1 1000 1000 0 Oct 28 04:03 /mnt/fff
    
    Link: https://lore.kernel.org/r/20210121131959.646623-38-christian.brauner@ubuntu.com
    
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: linux-fsdevel@vger.kernel.org
    Signed-off-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
Loading