Como verificar senha no shell script

Publicado por Cézar Campos em 29/01/2019

[ Hits: 441 ]

 


Como verificar senha no shell script



Olá tudo bem? Se por alguma razão bem aleatória você quer pôr uma senha no seu shell script para dar acesso a determinada função, ou qualquer outra coisa (só depende de você), dá para verificar se ela está correta sem colocar a sua senha de verdade no código-fonte.

Método ERRADO

Aqui vou testar a autenticidade que, por incrível que pareça é bastante comum de se ver por aí.

#!bin/sh
echo Digite a sua senha...
read senha
if [ $senha -eq "102374" ] ; then
echo "Senha correta"
else
echo "Senha ERRADA!"
fi

Por que este método é errado? Colocar a senha em texto puro no script é uma tremenda falha de segurança, qualquer espertinho pode dar um grep no seu script e localizá-la. Mas como verificar a senha sem expô-la no shell script? Usando uma soma de verificação.

Sinta-se livre para testar o código abaixo e digite a mesma senha que estava exposta no código acima.

#!bin/sh
echo Digite a sua senha...
read senha
echo "dbbe235510a12c4ceea53cfa2150859e  senha" > senha.md5
echo $senha > senha
md5sum -c --status senha.md5
if [ $? -eq 0 ] ; then
echo "Senha correta"
else
echo "Senha ERRADA!"
fi
rm senha.md5 senha

Viu como funciona? Foi criado uma forma de verificação da senha ao invés de expor no código fonte o seu conteúdo cru. Bem mais seguro, sem falar que você pode usar verificações ainda mais pesadas como SHA256 ou SHA512.

Criando a soma de verificação

Para criar a soma de verificação da sua senha é simples. Faça no terminal:

echo sua_senha > arquivoqualquer

e depois:

md5sum arquivoqualquer

que vai sair com a soma de verificação da sua senha para você pô-la no código-fonte.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Script para redimensionar muitas fotos

LTSP + Sound Blaster + Som

Script que automatiza o envio de backup para o email

Script para avisar compromissos

Baixando jogos do ClickJogos - UOL

  

Comentários
[1] Comentário enviado por edivandjs em 29/01/2019 - 13:54h

Muito legal, principalmente pra mim que estou iniciando no mundo da programação.

[2] Comentário enviado por hrcerq em 05/02/2019 - 23:06h

Boa dica. Eu não sei em qual shell você usou ou criou esse script. Mas no bash ainda poderia usar a opção "-s" do comando read, pra evitar que algum "espertinho" fique olhando pra sua tela enquanto você digita a senha. Infelizmente essa opção não faz parte do padrão posix.

---

Atenciosamente,
Hugo Cerqueira

Devuan - https://devuan.org/

[3] Comentário enviado por Cizordj em 06/02/2019 - 11:26h


[2] Comentário enviado por hrcerq em 05/02/2019 - 23:06h

Boa dica. Eu não sei em qual shell você usou ou criou esse script. Mas no bash ainda poderia usar a opção "-s" do comando read, pra evitar que algum "espertinho" fique olhando pra sua tela enquanto você digita a senha. Infelizmente essa opção não faz parte do padrão posix.

Obrigado Hugo pelo detalhe que faltou rsrs eu não sabia desse parâmetro do read (se sabia também é porque me esqueci). Mas sim, realmente contribui pro script ficar mais seguro.



Contribuir com comentário