Próbuję więc zrozumieć, jak działa przestrzeń nazw montowania Linuksa. Zrobiłem mały eksperyment i otworzyłem dwa terminale i uruchomiłem następujące:
Terminal 1
root@goliath:~# mkdir a b
root@goliath:~# touch a/foo.txt
root@goliath:~# unshare --mount -- /bin/bash
root@goliath:~# mount --bind a b
root@goliath:~# ls b
foo.txt
Terminal 2
root@goliath:~# ls b
foo.txt
Dlaczego uchwyt jest widoczny w Terminalu 2? Ponieważ nie jest częścią przestrzeni nazw montowania, spodziewałem się, że katalog będzie tutaj pusty. Próbowałem również przekazać -o shared=no
i używać --make-private
opcji z mount
, ale uzyskałem ten sam wynik.
Czego mi brakuje i jak mogę ustawić go jako prywatny?
--make-private
nie tego chcę. Ale czy nie chodzi o to, aby montować przestrzenie nazw (że nie są one systemowe)?
man mount
.