Namespace

Unshare with –mount-proc 創建一個新的 mnt 命名空間

  • September 30, 2021

我對--mount-procunshare命令一起使用時的作用有點困惑。

當我使用 時unshare -fp --mount-proc bash,我注意到它會產生一個新的 PID 命名空間和一個新的 MNT 命名空間。

鑑於我在一個新的 MNT 命名空間中,我嘗試解除安裝其中一個循環設備,並註意到這沒有反映在父 MNT 中(當我df -h在父命名空間中執行時,掛載仍然顯示)。

現在,我領先一步,在新的 MNT 命名空間中使用 創建了一個新的根目錄pivot_root,並解除安裝了原來的根目錄。正如預期的那樣,新的命名空間現在有一個不同的根。父命名空間仍然具有原始根目錄。

-m我的問題:如果我可以在不使用命令中的選項的情況下實現創建新的MNT命名空間unshare,並且還可以實現為新程序創建隔離的根目錄,那麼MNT命名空間有什麼不同的用途?

我將不勝感激專家的任何指導。

編輯:我修改了我的原始文章,其中說更改新命名空間中的根也會更改父命名空間中的根。我不再能夠重現這一點。但是我關於能夠僅使用--mount-proc選項而不使用-mwith來創建新的 MNT 命名空間的問題unshare仍然存在。

man unshare--mount-proc提及描述

它還意味著創建一個新的掛載命名空間,因為/proc否則掛載會弄亂系統上的現有程序。

因此,實際上--mount-proc意味著-m,以及您所看到的所有後果。這沒什麼不同,它是一個新的私有掛載命名空間。

-m選項本身仍然有用,因為沒有/proc.

引用自:https://unix.stackexchange.com/questions/671027