A configuração do recurso no script não será eficaz. É a situação semelhante à de não trabalhar um setuidpouco no script. Semelhante no último caso, é a implementação de como execvetrata o shebang e o raciocínio de segurança por trás dele (para obter detalhes, consulte: Permitir setuid em scripts de shell ).
Eu acho que você tem essas opções
definir os recursos no próprio intérprete (na verdade, uma cópia dele)
- aqui você tem um problema de que qualquer pessoa que seja capaz de executá-lo executará com esses recursos elevados (poderá executar algum script arbitrário ou iniciá-lo interativamente)
escreva um executável de invólucro que terá uma lógica codificada para executar seu script e defina os recursos desejados nesse executável
- certifique-se de que ninguém possa modificar nem remover / substituir o script
- ainda assim,
chrootpode-se usar mal esse invólucro
Nos dois casos, você precisaria garantir que os recursos configurados sobreviverão execveconfigurando o inheritablesinalizador. Você também pode usar o pam_capdistribuído libcapnormalmente, para realmente ativar os recursos desejados pela configuração apenas para usuários selecionados.
E, em geral, você deseja garantir que ninguém seja capaz de modificar o comportamento do seu intérprete alterando o ambiente, por exemplo. PYTHON_PATHou algo semelhante.