사용자 네임 스페이스 내에“/”를 바인딩 마운트 할 수없는 이유는 무엇입니까?


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

답변:


16

차이점은 /자식 마운트 가 있다는 것 입니다. 사용자 네임 스페이스 내에서 상속 된 마운트를 하위 마운트와 분리 할 수 ​​없습니다. 보다 명백한 예는 당신이 할 수 없다는 것 umount /proc입니다. 그렇지 않으면 다른 마운트 아래에 숨겨져있는 파일에 갑자기 액세스 할 수있게됩니다. 오버 마운트는 때때로 보안 수단으로 의도적으로 사용됩니다.

대신 모든 하위 마운트를 유지하는 재귀 바인드 마운트를 작성할 수 있습니다.

$ unshare -rm mount --rbind / /mnt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.