--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
.