From d5582b318df6e9edab71f37ea06348896d9e04ec Mon Sep 17 00:00:00 2001 From: leiweibau <105860611+leiweibau@users.noreply.github.com> Date: Mon, 25 Jul 2022 14:10:23 +0200 Subject: [PATCH] More robust script If the necessary entries do not exist in the configuration file, they will be created now. --- config/reset_password.sh | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/config/reset_password.sh b/config/reset_password.sh index a7f933ee..97258d53 100644 --- a/config/reset_password.sh +++ b/config/reset_password.sh @@ -1,7 +1,35 @@ -cp pialert.conf pialert.conf.bak +#!/bin/sh +PIA_CONF_FILE='pialert.conf' PIA_PASS=$1 -echo "The password '$1' is hashed" -PIA_PASS_HASH=$(echo -n $PIA_PASS | sha256sum | awk '{print $1}') -echo "The hashed password is: $PIA_PASS_HASH" -sed -i "/PIALERT_WEB_PASSWORD/c\PIALERT_WEB_PASSWORD = '$PIA_PASS_HASH'" pialert.conf -echo "The hash was saved in the configuration file" \ No newline at end of file +echo "Check of key PIALERT_WEB_PROTECTION exists:" +CHECK_PROT=$(grep "PIALERT_WEB_PROTECTION" $PIA_CONF_FILE | wc -l) +if [ $CHECK_PROT -eq 0 ] +then + echo " Key not found. Key 'PIALERT_WEB_PROTECTION' will be created." + echo " Check Config after the script is finished." + sed "/^VENDORS_DB.*/a PIALERT_WEB_PROTECTION = True" $PIA_CONF_FILE > pialert.tmp + rm $PIA_CONF_FILE.bak + mv $PIA_CONF_FILE $PIA_CONF_FILE.bak + mv pialert.tmp $PIA_CONF_FILE +else + echo " Key exists. Nothing to do." +fi +echo "" +echo "Check of key PIALERT_WEB_PASSWORD exists:" +CHECK_PWD=$(grep "PIALERT_WEB_PASSWORD" $PIA_CONF_FILE | wc -l) +if [ $CHECK_PWD -eq 0 ] +then + echo " Key not found. Key 'PIALERT_WEB_PASSWORD' will be created." + echo " Check Config after the script is finished." + echo " If the key is just created, please run the script again to set a new password". + sed "/^PIALERT_WEB_PROTECTION.*/a PIALERT_WEB_PASSWORD = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'" $PIA_CONF_FILE > pialert.tmp + rm $PIA_CONF_FILE.bak + mv $PIA_CONF_FILE $PIA_CONF_FILE.bak + mv pialert.tmp $PIA_CONF_FILE +else + echo " The password '$1' is hashed" + PIA_PASS_HASH=$(echo -n $PIA_PASS | sha256sum | awk '{print $1}') + echo " The hashed password is: $PIA_PASS_HASH" + sed -i "/PIALERT_WEB_PASSWORD/c\PIALERT_WEB_PASSWORD = '$PIA_PASS_HASH'" $PIA_CONF_FILE + echo " The hash was saved in the configuration file" +fi