Você precisa do debootstrapchroot, verifique as instruções sobre como configurar o seu chroot: link
Eu nunca configurei um ambiente preso antes e tenho medo de precisar de ajuda para fazê-lo bem.
Para explicar brevemente o que é isso: Eu tenho um servidor para o qual os usuários enviam scripts python para processar vários arquivos que estão armazenados no servidor (o sistema é para propósitos de pesquisa). Todos os dias um cron job inicia a execução dos scripts enviados por meio de um comando desse tipo:
/usr/bin/python script_file.py
Tudo isso é realmente inseguro e eu gostaria de criar uma cadeia na qual eu iria copiar os arquivos necessários (scripts enviados, arquivos para processar, binário python e dependências).
Já procurei vários utilitários para criar cadeias, mas nenhum deles parecia atualizado ou faltava documentação sólida (ou seja, os links propostos em Como posso executar um script python não confiável )
Alguém poderia me guiar para uma solução viável para o meu problema? como um exemplo funcional de um script que cria uma cadeia, coloca alguns arquivos nele e executa um script python?
Muito obrigado.
Você precisa do debootstrapchroot, verifique as instruções sobre como configurar o seu chroot: link
Você precisaria de muitas bibliotecas no seu chroot, e isso não impediria que alguém instalasse um servidor de soquete. Como você precisa permitir que scripts python sejam executados, isso significa acesso total a módulos python padrão, como socket, etc. Eu realmente não vejo o que você será capaz de proteger com esse chroot?
Se um usuário puder criar um servidor de soquete, ele poderá se conectar nesse chroot e acessar / modificar qualquer coisa.
Nem mesmo um script simples como os.system('rm -rf /')
pode ser impedido e tornaria seu jail inutilizável.
Uma possível solução seria usar um módulo como TOMOYO , que pode ser configurado para impedir o acesso com base em primitivos do kernel (abrir, escrever, etc.).
Tags python linux ubuntu chroot-jail