Re: [PATCH] ovl: Introduce mount option hide_paths

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 12, 2019 at 10:55 AM Michael Weiß
<michael.weiss@xxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi Vivek,
>
> yes it is, because the path names are in the options and not
> in the mount source. I only know overlayfs as kernel filesystem
> which uses the options for source pathes, due to obvious reasons.
>
> On a bind mount the source block device on which the directory
> is located will be shown as source, thus there is no information leak
> in the mount namespace / chroot there.
>
> Short example:
>
> bind mount:
>
> host:
> mount --bind /mnt/test-rootns/ /var/lib/schroot/mount/stable-a73e0370-da3c-4325-aa4c-2585febb65d5/root/test/
>
> /dev/mapper/system-root on /var/lib/schroot/mount/stable-a73e0370-da3c-4325-aa4c-2585febb65d5/root/test type ext4 (rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
>
> chroot:
>
> /dev/mapper/system-root on /root/test type ext4 (rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
>
> overlayfs:
>
> host:
>
> overlay on /var/lib/docker/overlay2/9c428ab5204f10fad81dbd6ea21bddad7c3173f1811651c1b37d93f02e5dbb39/merged type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/MXNJRWHBTT3FY7ZLXSZOXZHEDX:/var/lib/docker/overlay2/l/Q5R45CZKDNRTTYJ4RSP6OWYRT2,upperdir=/var/lib/docker/overlay2/9c428ab5204f10fad81dbd6ea21bddad7c3173f1811651c1b37d93f02e5dbb39/diff,workdir=/var/lib/docker/overlay2/9c428ab5204f10fad81dbd6ea21bddad7c3173f1811651c1b37d93f02e5dbb39/work)
>
> chroot:
>
> overlay on / type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/MXNJRWHBTT3FY7ZLXSZOXZHEDX:/var/lib/docker/overlay2/l/Q5R45CZKDNRTTYJ4RSP6OWYRT2,upperdir=/var/lib/docker/overlay2/9c428ab5204f10fad81dbd6ea21bddad7c3173f1811651c1b37d93f02e5dbb39/diff,workdir=/var/lib/docker/overlay2/9c428ab5204f10fad81dbd6ea21bddad7c3173f1811651c1b37d93f02e5dbb39/work)
>
>

You know, these options are just strings.
It's not a problem to use any strings you like using symlink to avoid
leaking paths.
Its exactly the same method that docker uses to shorten the mount
option args length,
for example:

cd var/lib/docker/overlay2/9c428ab5204f10fad81dbd6ea21bddad7c3173f1811651c1b37d93f02e5dbb39/
ln -s ../l/MXNJRWHBTT3FY7ZLXSZOXZHEDX l0
ln -s ../l/Q5R45CZKDNRTTYJ4RSP6OWYRT2 l1
mount -t overlay overlay merged/ -olowerdir=l0:l1,upperdir=diff,workdir=work

And that's it.
I wonder why docker is not that to shorten the argument list instead
of the l/XXX symlinks

Thanks,
Amir.




[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux