Se você quer rodar a tela, você pode executar o aplicativo com outro usuário (vamos chamá-la de Alice) e permitir que o usuário restrito (vamos chamá-lo de Bob) associe a sessão de tela. (Eu não sei se é possível fazer isso com um único usuário.) Use o recurso de ACL da tela para limitar o que Bob pode fazer. Você colocaria algo como o seguinte em .screenrc
(aviso, verifique a documentação e teste a segurança, eu posso ter omitido um passo importante):
multiuser on
aclchg bob -w-x #,?
aclchg bob +x copy,detach,help
exec $HOME/runthis.sh
Se você não quer necessariamente executar a tela, você pode passar por um shell restrito (sim, embora você não está interessado em dar a eles acesso ao shell). Você daria aos usuários a possibilidade de executar o aplicativo, nohup
, e talvez uma maneira de ver os arquivos de log se isso for relevante. Um shell restrito que você pode usar é rbash
( man rbash
localmente irá mostrar a parte relevante da página bash
man). Você também pode considerar o rssh ( pacote do Ubuntu ) .