chroot de todo o sistema de arquivos, exceto por um arquivo

2

Eu quero criar um chroot para um comando que eu vou executar, e eu quero que o chroot seja completamente idêntico ao sistema de arquivos "real", exceto para um arquivo alterado .

(Vamos supor que este é realmente o caminho certo para abordar o meu problema - eu estou explorando outras possibilidades também:)

Uma coisa que parecia interessante era usar unionfs - basicamente, o diretório "upper" contém o arquivo, e o "inferior", root ( / ).

Infelizmente, isso não funciona:

$ sudo mount_unionfs mydir /
mount_unionfs: mydir (/usr/home/myuser/chroots/mydir) and / (/) are not distinct paths

Eu posso ver porque isso pode ser problemático - talvez isso criaria recursão infinita? Mas eu não tenho certeza do porque é impedido, para ser honesto.

Eu poderia realizar algo semelhante com um monte de nullfs de montagens em mydir/... , para corresponder a tudo montado em / no meu sistema real.

Mas há uma maneira mais agradável?

Isto está no FreeBSD, mas outro conselho * nix também agradeceu.

    
por jwd 30.01.2017 / 23:03

0 respostas