De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Altemir Braz Dantas Junior
Data de Publicação: 08 de fevereiro de 2011
Vamos abrir o arquivo /root/.bashrc
# vi /root/.bashrc
#### no final do arquivo vamos acrecentar as linhas abaixo seguranca() { echo "Qual a cor do cavalo de napoleao?" trap seguranca 2 20 read -s resp if [ "$resp" != "naoseinao" ]; then echo "Errou" logout fi } seguranca ###### fim do arquivo .bashrc
Explicando:
/root/.bashrc
vai ser executado.
seguranca()
. Se o usuário errar a resposta é deslogado da conta da root.
Os linuxers já devem estar pensando É só eu dar um Crtl+C ou Crtl-Z que ele sai do programa e já ganho a conta do root sem responder a pergunta.
Por isso do nosso amigo trap. Ele possibilita pegar sinais e enviar para um comando.
Você pode ver a numeração correspondente as sinais com o comando
# trap -l Crtl+C = 2 => SIGINT Crtl-Z = 20 => SIGTSTPA linha
trap seguranca 2 20
vai fazer o seguinte: se o pessoa que logou tentar sair do programa com o Crtl+C ou Crtl-Z ele vai chamar a função novamente, só conseguindo ganhar o shell se ele realmente acertar a resposta.
Protegendo o arquivo para ninguem alem do root ver a resposta:
# chmod 700 /root/.bashrcPara maior seguranca desative o Login do root via ssh para não alterar esse arquivo via scp.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários