为什么不能在用户名称空间中绑定挂载“ /”?


13

为什么不起作用?

$ unshare -rm mount --bind / /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /, missing codepage or helper program, or other error.

这些工作正常:

$ unshare -rm mount --bind /tmp /mnt
$ unshare -rm mount --bind /root /mnt
$

$ uname -r  # Linux kernel version
4.17.3-200.fc28.x86_64

Answers:


16

区别在于/有儿童坐骑。在用户名称空间内,不允许将继承的安装与其子安装分开。一个更明显的例子是您不允许这样做umount /proc。否则,它可能会突然授予您访问其他装载隐藏的文件的权限。有时会故意将超额用作安全措施。

您可以创建一个递归绑定安装,它保留所有子安装:

$ unshare -rm mount --rbind / /mnt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.