A configuração do recurso no script não será eficaz. É a situação semelhante à de não trabalhar um setuid
pouco no script. Semelhante no último caso, é a implementação de como execve
trata 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,
chroot
pode-se usar mal esse invólucro
Nos dois casos, você precisaria garantir que os recursos configurados sobreviverão execve
configurando o inheritable
sinalizador. Você também pode usar o pam_cap
distribuído libcap
normalmente, 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_PATH
ou algo semelhante.