É possivel utilizar o chroot para testar executáveis instáveis?

Quero contribuir para o código fonte do bash. Acontece que se eu compilar e iniciar ele pode ferrar com o sistema já que o Ubuntu utiliza o bash como padrão.

chroot seria uma boa opção? ou há alternativas mais viáveis?

Não sei ao certo o que vc quer, mas é notório que se vc quer evitar acidentes, um ambiente seguro é necessário - o que o povo chama de sandboxed. Máquina virtual e docker seriam as melhores alternativas, penso

3 curtidas

Como você não está rodando um programa malicioso, bastaria criar uma conta de usuário separado e testar suas modificações nela. Se as permissões da sua home estiverem corretas, isso é o suficiente para barrar deleções acidentais.

Chroot, bwrap, máquina virtual, docker… me parecem exageros que não se justificam para mexer um programa que você controla.

Em que sentido? Basta não rodar sudo make install, assim nada na /usr e /etc serão modificados e o bash original do sistema será sempre priorizado.

2 curtidas

Bastou aparecer alguém que entenda de fato e o que eu disse se revelou efetivamente como um belo palpite

1 curtida

Sim, mas uma vez eu executei o make no Kernel Linux e ele instalou sozinho :man_facepalming:

é mais pra caso a mudança de local no arquivo resulte em um core dumped.

O bagulho é que eu fui tentar o Docker antes de ver as respostas e resultou nisso:

$ docker pull ubuntu
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Não acredito ser necessário pois o bash no qual irá trabalhar, não será o principal do sistema a menos que o instale como citado pelo @Capezotte, portanto mesmo que tiver um core dumped, poderá aceder em outro emulador de terminal, e mesmo que não consiga acesso diretamente neste bash, você ainda pode recorrer ao sh padrão do sistema.

1 curtida

Bom, vc pode usar uma combinação de unshare + unionfs é mais que suficiente

2 curtidas

Eu acho que vai depender do que ele planeja, ele pode querer testar algum comportamento em sessões privilegiadas, efeitos escalonados para todos os subshells do sistema, etc. Nesse caso replicar todo um ambiente controlado pode ser melhor mesmo.

3 curtidas