O SELinux permitirá que você inicie o aplicativo em um domínio restrito, e o subsistema de auditoria permitirá que você veja o que ele faz.
Eu tenho um aplicativo que gostaria de iniciar em um "ambiente visualizado". Eu não quero que este aplicativo seja capaz de gravar / ler quaisquer arquivos no meu sistema de arquivos local. Um bônus seria poder monitorar tudo o que esse aplicativo faz.
A aplicação é gráfica se isso for importante.
Posso fazer isso com as ferramentas existentes do Linux? Posso emular este comportamento com o chroot?
Eu não quero rodar um virtualbox completo apenas para um aplicativo, isso parece ser um over kill.
Obrigado Maxim.
O SELinux permitirá que você inicie o aplicativo em um domínio restrito, e o subsistema de auditoria permitirá que você veja o que ele faz.
verifique o lxc, contêineres Linux. É um 'melhor chroot do que o chroot', como os contêineres Solaris ou as cadeias BSD, também comparável ao OpenVZ ou ao VServer. O conceito base é isolar algumas visões do sistema de um processo.
Por exemplo, se você isolar a árvore PID, o processo inicia uma nova árvore: vê-se como PID # 1 e os subprocessos veem apenas essa subárvore. Outros processos vêem PIDs 'normais' como parte de toda a árvore.
Similarmente, você isola arquivos por um chroot mais poderoso, escolhe quanta memória e CPU esses processos podem obter, quais interfaces de rede eles vêem (que podem ser interfaces 'virtuais', opcionalmente roteadas ou conectadas às reais )
se desejar, o processo base no container pode ser init
, criando um novo sistema virtual; ou pode ser uma aplicação específica, permitindo que você a limite enquanto ainda trabalha sem nenhuma sobrecarga mensurável.