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.