Force o programa a usar / dev / urandom

3

Estou tentando criar um pequeno contêiner que me permita remapear / dev / random para / dev / urandom sem raiz para um programa específico. O que eu tenho até agora:

unshare -r bash -c 'chroot . /bin/busybox sh'

Na maioria das vezes, isso parece funcionar como um chroot completo, equivalente a sudo chroot . /bin/busybox sh , mas um problema: Quando tento mknod algum arquivo c 1 9, obtenho uma operação não permitida. Isso funciona em um chroot padrão. É possível contornar isso? Se não, existe uma maneira melhor de fazer o que estou tentando?

Por favor, não me afunde em comentários sobre a segurança do aleatório vs urandom. Não é disso que se trata.

    
por Duncan X Simpson 19.08.2016 / 07:02

1 resposta

2

Se o programa estiver vinculado dinamicamente, você pode substituir a função de abertura de arquivo pelo pré-carregamento uma biblioteca. Consulte Redirecionar um descritor de arquivo antes da execução para alguma amostra código; substitua /dev/null por /dev/urandom e defina PATH_TO_OVERRIDE=/dev/random no comando de compilação.

    
por 20.08.2016 / 03:35