O programa capsh parece ser projetado por isso.
Além disso, implementei isso como um modo no meu programa dived .
Ainda não sei como especificar explicitamente os limites apesar dos recursos do sistema de arquivos .
su user_name program
inicia algum programa com outro uid; chroot path program
inicia algum programa com outro /
; ( ulimit -v 80000; program)
limita a memória do programa ... Como limitar as capacidades do programa (7) ?
Eu só vejo a ferramenta setcap (8) que define as cababilidades de arquivos; como fazer algo assim:
root# start_program_with_capabilities_dropped_except_of CAP_NET_RAW,CAP_NET_ADMIN program
Como iniciar um programa com meu conjunto de recursos sem usar recursos de arquivo?
Por exemplo, sou root e quero iniciar ping
:
ping
ciente de que está no modo sem privilégios ( ping: cannot flood; minimal interval, allowed for user, is 200ms
) O programa capsh parece ser projetado por isso.
Além disso, implementei isso como um modo no meu programa dived .
Ainda não sei como especificar explicitamente os limites apesar dos recursos do sistema de arquivos .
As sub-camadas de direitos do sistema e MAC (Controle de Acesso Obrigatório) existem para esses propósitos. Para restringir os recursos conforme o link os definiu, use uma conta de usuário que tenha exatamente os direitos desejados. combine com SU e permissões de arquivo para garantir que seu aplicativo seja executado somente para esse usuário.
Para MACs, exemplos comuns incluem o Selinux (NSA / Redhat) e o AppArmor (Novell). Eles limitam os recursos que um aplicativo pode acessar. lembre-se no linux, tudo é um arquivo, então, bloqueando os arquivos necessários, você pode restringir os recursos de um aplicativo. Os sistemas MAC usam uma lista branca para permitir que os aplicativos acessem apenas os recursos especificados e, como tal, por padrão, todo o acesso é negado. Eu uso uma armadura de aplicativo para o firefox, por exemplo, que a restringe a sua área de aplicativo / cache em meu $ HOME e coisas como minha pasta de downloads.
Tags permissions linux