@ZzCryNo leí los archivos que dejo en ese "servicio", simplemente deje los archivos en texto plano, cómo comparió el código en principio.
Siguiendo con mi conjetura...
Si tiene problemas con la variable "contra" siga la mayoria de pasos que le dije, quizas el problema del porqué no compara de forma correcta es por el carácter de nueva linea (
\n ), para hacer que eso no pase, tiene que leer nuevamente el archivo y quitarlo sustituyendo lo siguiente:
contra="$( cat a.txt )"
Por:
contra=$(echo -n $(cat test.txt))
Ahora sí puede comparar tranquilamente:
if [ "$contra" == "123" ];then
echo "Success!"
else
echo "Denied!"
fi
Citar...si alguien le da a editar el archivo podrá ver cual es la contraseña y la gracia es que la encuentren...
Respecto a lo que dice, simplemente puede crear los archivos pero definir permisos que sólo lo pueda leer y escribir el usuario "root" o cualquiera con privilegios, cosa que se puede hacer con el comando "chmod" ó cómo le dije en anteriores comentarios puede convertir la contraseña en una suma de verificación, aunque igualmente tiene que asignarles permisos, por lo menos quitarles los de escritura y si desea puede dejar los de lectura, pero si el reto se vuelve amplio, cualquier persona "agarra" el hash y lo coloca en un servicio que hace fuerza bruta cómo
crackstation.net.
Todo depende de la creatividad, igualmente si sigue teniendo dudas, puede avisarnos.
~ DtxdF