Como protejo a tela para uso com um script de menu?

2

Estou lançando a tela com o seguinte comando, dentro de um shell script definido como shell de um usuário para evitar que escapem.

screen -dRRq -S ${USER}_MC -s $HOME/runthis.sh

Existe uma maneira de proteger a tela, impedir que o usuário até use a seqüência de escape ou, na pior das hipóteses, impedir que eles executem comandos como exec ?

Editar: não é que o usuário tenha acesso a um shell de prompt de comando real. Eu só quero que eles sejam capazes de executar um único programa que é executado de forma persistente, e tanto quanto eu sei tela é a maneira mais fácil de fazer isso. No entanto, sair dessa é tão fácil quanto C-a : exec bash .

No momento, eu só liberto a maioria das teclas usando .screenrc (especialmente dois pontos), eu só quero ter certeza que não estou perdendo algo mais fácil.

    
por Jess 10.12.2010 / 03:51

2 respostas

1

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 ) .

    
por 11.12.2010 / 00:01
0

se eu tiver a sua pergunta certa - tente usar Iron Bars Shell , isso basicamente nega tudo

"Iron Bars Shell (ibsh) is a free, open-source restricted system shell for Linux and Unix. It is small, secure, and is based on a whole new perspective: DENY EVERYTHING!! If something is needed, allow it."

se você quiser ativar algo / alguma coisa para um determinado usuário em algum momento, você poderá fazê-lo ...

    
por 10.12.2010 / 14:27