Como permitir o login anônimo do ssh em uma caixa do Linux e apenas executar um programa?

3

Eu tenho um jogo baseado em texto instalado em um servidor Linux, e gostaria de permitir logins nesse servidor via SSH, mas com restrições.

O login deve ir diretamente para o jogo que lê a entrada do teclado do stdin. Se o jogo sair, o usuário deve ser imediatamente desconectado do servidor. Como alternativa, se o usuário efetuar login, deverá haver apenas um comando disponível para o usuário, o jogo.

Eu pensei em usar uma interface baseada na web para o jogo, mas há algo sobre jogar o jogo em um terminal que parece certo. Por favor, não responda com "isto é uma má idéia ..." ou suas variantes, porque essa é uma saída fácil. Eu só quero saber se alguém sabe de uma solução.

    
por gavaletz 25.02.2011 / 16:44

2 respostas

3

A abordagem tradicional é editar o script de login do usuário para interceptar interrupções, executar o programa e depois sair.

Você pode definir o shell de login do usuário como um shell restrito (man rksh) "O Rksh é uma versão restrita do interpretador de comandos ksh; ele é usado para configurar nomes de login e ambientes de execução cujas capacidades são mais controladas que as do o shell padrão ". Ou use o bash no modo restrito .

Remova o acesso de gravação do usuário aos seus scripts de login (e qualquer outra coisa que o programa não precise gravar).

Para segurança adicional chroot ao usuário.

    
por 25.02.2011 / 16:50
2

Talvez você possa definir seu binário como o shell de login em / etc / passwd.

Mas eu nunca tentei isso sozinho.

    
por 25.02.2011 / 16:52