Contexto:
A maneira como o sistema do servidor linuxgsm funciona é que ele cria um usuário, com o nome csgoserver, e todos os scripts relacionados ao servidor do jogo estão na pasta inicial desse usuário ( /home/csgoserver ). (Se fosse outro jogo, como campo de batalha, um usuário "campo de batalha" seria criado e todos os scripts relacionados ao servidor do campo de batalha estariam dentro de sua pasta pessoal).
Eu instalei os scripts csgoserver e eles funcionam perfeitamente quando iniciados como usuário csgoserver ou root.
O problema e meu objetivo:
Para um determinado grupo de usuários, ao qual desejo restringir o máximo possível o acesso ao servidor via SSH, escrevi, portanto, um script que é usado como um shell de login para esses usuários, usando
chsh -s /path/tm/my/script users
É apenas um diálogo, perguntando aos usuários o que eles querem fazer, etc. O propósito deste script de shell é torná-lo o mais amigável possível e seguro, já que eles não têm acesso a nenhum comando. que não são escritas por mim no script (esse script é o intermediário entre eles e o unix, para ter certeza de que eles não podem fazer nada de ruim) .
Ainda quero que esses usuários possam iniciar o csgoserver, o que significa que eles precisam ser capazes de executar: (e eles digitam csgoserver a partir do meu script para conseguir isso, o script bash seria executado)
bash /home/csgoserver/csgoserver start
Mas, como eu disse, você precisa ser proprietário (ou root) para iniciar o script csgoserver. Então, por enquanto, além de dar-lhes sudo, não sei o que fazer?
O que tentei:
Eu tive a ideia de fazer:
echo -e "password\n" | su - csgoserver
bash /home/csgoserver/csgoserver start
exit
Mas só funciona em um terminal.
Eu dei:
chmod 777 -R /home/csgofolder
Mas ainda corri problemas de permissão ao executar (parecia praticamente o mesmo).
Eu sei que colocar todos esses usuários no grupo sudo resolverá o problema, e ainda pode ser seguro, já que eles não podem digitar nada em um terminal, mas eu sou muito paranóico para começar.
Tags ssh permissions shell shell-script