Como restringir os direitos de r / w de um programa a nada?

2

Sob o Linux, eu gostaria de poder lançar qualquer coisa da linha de comando em um ambiente "seguro", ou seja, ter certeza de que ele não pode ler ou escrever qualquer arquivo no meu computador, e melhor ainda se não puder acessar a rede.

Eu pensei em criar um usuário com direitos de leitura somente na pasta atual (e em nenhum outro lugar), e su para esse usuário iniciar o comando, isso funcionaria? E a rede?

O que você faria?

    
por Zonko 15.09.2011 / 16:46

2 respostas

0

O que você quer é melhor realizado com controle de acesso obrigatório, como AppArmor . Algum tipo de MAC está incluído em quase todas as distros hoje em dia, mas geralmente com permissões bastante liberais, então você adiciona suas próprias restrições personalizadas de acordo com suas próprias necessidades.

    
por 15.09.2011 / 17:15
3

Olhe para

  • jorros chroot (o schroot é popular)
  • UML (um pouco mais complicado)

Para restringir realmente o acesso a virtualização completa / hipervisada dos peripéricos é necessário.

  • qemu / qemu-kvm para isolamento total

Usar o debootstrap (para distribuições baseadas no Debian) será um bom ponto de partida

PS. O BSD e o Solaris suportam nativamente zonas / containers que fazem exatamente esse tipo de isolamento. O Solaris é, sem dúvida, superior (com a chamada completa de subsistema de rede virtualizada Crossbow), mas infelizmente, o Oracle eliminou a distribuição do OpenSolaris.

Você deve ser capaz de obter algo baseado no Nexenta (Debian userland no Solaris kernel) ou IllumOS (fork baseado no último OpenSolaris publicado), mas eu espero que o BSD esteja mais próximo da experiência linux.

    
por 15.09.2011 / 16:51