Por que montar overlayfs com root como lowerdir produz um vazio / proc no mergedir?

1

Aqui está o caso de teste:

#!/bin/bash

more="$@"
saved="$EUID"

if [ "$EUID" = "0" ]; then
    echo "don't run as root"
    exit
fi

m="/tmp/mount-point"

exec sudo unshare -m /bin/bash <<UNSHARED
mkdir -p "$m"
mount -t tmpfs tmpfs "$m"
cd "$m"
mkdir top merge work

mount -t overlay overlay -o lowerdir=/,upperdir=top,workdir=work merge

#bash < /dev/tty
chroot merge sh -c 'sudo -u "#$saved" sh -c "id; ls /proc -lR"'
UNSHARED

Veja o que é impresso:

uid=1001(username) gid=1001(username) groups=1001(username),7(lp),10(wheel)
/proc:
total 0

Meu /proc , como você provavelmente pode imaginar, é montado e não está vazio no grande fs .

    
por Raitis Veinbahs 11.02.2017 / 15:04

1 resposta

0

Uma resposta do mantenedor Miklos Szeredi:

It's just how overlayfs works. Mount a new instance of proc under /merge

Então, estou supondo que o overlayfs esteja unindo sistemas de arquivos a partir dos diretórios especificados, e não da imagem composta de montagem geral que o usuário está vendo. Além disso:

There are userspace variants which make this possible; e.g. unionfs-fuse.

Thanks,
Miklos

    
por 24.05.2017 / 16:33