rmothe
(usa Linux Mint)
Enviado em 21/01/2017 - 15:28h
albertovix escreveu:
Fala galera, estou com um script para criação de usuário e algumas funções, gostaria quando apertar CONTROL + C o shell fechasse para que o usuário não usar a linha de comando
Vejamos se entendi as entrelinhas da sua pergunta.
Você está administrando um servidor, criou um script para facilitar a vida de seus usuários, permitindo acesso via ssh com a finalidade exclusiva de execução deste script, visando a estabilidade e segurança do servidor... Estou certo?
Se este for o caso veja esta solução que criei há uns 20 anos atrás:
- Crie um programa em C para executar seu script e evitar, por meio de CTRL+C ou ao terminar o script, o acesso inadequado dos seus usuários à linha de comando:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv){
int status = system("SCRIPT_PARA_EXECUÇÃO");
return 0;
}
Agora compile o seu programa:
$ sudo gcc -o NOME_FINAL NOME_CÓDIGO_FONTE.c
Coloque o programa NOME_FINAL no pasta do usuário ou no local que for mais conveniente. Lembre-se de dar permissão de execução para o usuário.
Agora altere o acesso ssh do usuário para executar o NOME_FINAL, para que ele execute este programa que chamará o seu SCRIPT_PARA_EXECUÇÃO:
$ sudo usermod -s "/CAMINHO/NOME_FINAL" USUÁRIO
Pronto! Quando o seu USUÁRIO acessar o servidor por ssh ele executará somente o programa NOME_FINAL que chamará seu script SCRIPT_PARA_EXECUÇÃO e, caso ele use o CTRL+C ou o script termine, ele será desconectado do ssh não tendo, assim, acesso à linha de comando.
Espero ter ajudado!
Linux Counter: #318909