--mount-proc를 사용하여 공유를 해제하면 새로운 mnt 네임스페이스가 생성됩니다.

--mount-proc를 사용하여 공유를 해제하면 새로운 mnt 네임스페이스가 생성됩니다.

--mount-proc명령과 함께 사용할 때 수행되는 작업에 대해 약간 혼란 스럽 습니다 .unshare

이를 사용했을 때 unshare -fp --mount-proc bash새로운 PID 네임스페이스와 새로운 MNT 네임스페이스가 생성되는 것을 확인했습니다.

새로운 MNT 네임스페이스에 있다는 점을 고려하여 루프 장치 중 하나를 마운트 해제하려고 시도했지만 이것이 상위 MNT에 반영되지 않은 것을 확인했습니다( df -h상위 네임스페이스에서 실행했을 때 마운트가 여전히 표시됨).

이제 한발 더 나아가 새 MNT 네임스페이스에 새 루트를 생성 pivot_root하고 원래 루트를 제거했습니다. 예상대로 새 네임스페이스는 이제 다른 루트를 갖습니다. 상위 네임스페이스에는 여전히 원래 루트 디렉터리가 있습니다.

-m내 질문: 명령의 옵션을 사용하지 않고 새 MNT 네임스페이스를 생성할 수 unshare있고 새 프로세스에 대한 격리된 루트 디렉터리도 생성할 수 있는 경우 MNT 네임스페이스의 다른 용도는 무엇입니까?

전문가의 조언을 주시면 감사하겠습니다.

편집: 새 네임스페이스에서 루트를 변경하면 상위 네임스페이스의 루트도 변경된다는 원래 게시물을 수정했습니다. 이것을 다시 재현할 수 없습니다. 하지만 해당 --mount-proc옵션만 사용하고 해당 옵션을 사용하지 않고 -m새 MNT 네임스페이스를 만드는 방법에 대한 질문은 unshare여전히 ​​남아 있습니다.

답변1

man unshare--mount-proc언급에 대한 설명

이는 또한 새로운 마운트 네임스페이스를 생성하는 것을 의미합니다. /proc그렇지 않으면 마운트로 인해 시스템의 기존 프로그램이 엉망이 되기 때문입니다.

그래서 그것은 실제로 , 그리고 여러분이 보는 모든 결과를 --mount-proc의미합니다 . -m이는 다르지 않으며 새로운 전용 마운트 네임스페이스입니다.

-m새로운 마운트 네임스페이스를 no 에서 사용할 수 있으므로 옵션 자체는 여전히 유용 합니다 /proc.

관련 정보