Aqui está um exemplo muito simples de usar util-linux
' unshare
para colocar um processo em um namespace de montagem particular e fornecer uma visão diferente do mesmo sistema de arquivos que seu pai possui atualmente:
{ cd /tmp #usually a safe place for this stuff
echo hey >file #some
echo there >file2 #evidence
sudo unshare -m sh -c ' #unshare requires root by default
mount -B file2 file #bind mount there over hey
cat file #show it
kill -TSTP "$$" #suspend root shell and switch back to parent
umount file #unbind there
cat file' #show it
cat file #root shell just suspended
fg #bring it back
cat file2 #round it off
}
there #root shell
hey #root shell suspended
hey #root shell restored
there #rounded
Você pode dar a um processo uma visão privada de seu sistema de arquivos com o utilitário unshare
em sistemas linux atualizados, embora o próprio recurso de namespace de montagem tenha sido bastante maduro para toda a série de kernel 3.x. Você pode inserir namespaces pré-existentes de todos os tipos com nsenter
utility do mesmo pacote, e você pode descobrir mais com man
.