!/bin/bash
Function to check if a program has a password
has_password() { program=$1 password_file=”$program.password”
if [ -f "$password_file" ]; then
return 0
else
return 1
fi }
Function to get password from user
get_password() { read -s -p “Enter password: “ password echo $password }
Function to check if password is correct
is_password_correct() { program=$1 password=$2 password_file=”$program.password”
stored_password=$(cat "$password_file")
if [ "$password" == "$stored_password" ]; then
return 0
else
return 1
fi }
Function to set a new password
set_password() { program=$1 password=$2 password_file=”$program.password”
echo $password > "$password_file" }
Main script
program=$1
if has_password “$program”; then read -p “This program requires a password. Do you want to enter the password? (y/n): “ choice
if [ "$choice" == "y" ]; then
password=$(get_password)
if is_password_correct "$program" "$password"; then
read -p "Do you want to set a new password? (y/n): " new_password_choice
if [ "$new_password_choice" == "y" ]; then
new_password=$(get_password)
set_password "$program" "$new_password"
fi
else
echo "Incorrect password. Exiting..."
exit 1
fi
else
echo "Password is required to run this program. Exiting..."
exit 1
fi else
read -p "This program does not require a password. Do you want to run it? (y/n): " choice
if [ "$choice" == "y" ]; then
$program
else
echo "Program will not be run. Exiting..."
exit 1
fi fi
exit 0
Loading...