как сохранить пароль на файл с помощью UNIX / LINUX? - PullRequest
0 голосов
/ 07 марта 2011

Я знаю только, как прочитать пароль.Но у меня проблема с тем, как установить пароль, введенный пользователем для файла.Я только зашел так далеко.Пожалуйста, помогите:

if [ -d "$1" ]
then
    #reads password
    read -s -p "Enter Password: " password
    stty -echo
    stty echo
    echo ""
    echo ""
    #checks whether the password is valid or not
    echo $mypassword" == "$PASS" ] && echo "Password accepted" || echo "Access denied"
else
    echo "Directory not found."
fi

1 Ответ

1 голос
/ 07 марта 2011

Если я не ошибаюсь, попробуйте что-то вроде этого:

#!/bin/bash

EXPECTED_PASS="FooBar"

if [ -d "$1" ]
then
    read -s -p "Enter Password: " password
    stty -echo
    stty echo
    echo ""
    echo ""

    #Save password to a temporary file
    echo "${password}" > /tmp/password.txt

    #Load password from file
    password=`cat /tmp/password.txt`

    if [ "${password}" == "${EXPECTED_PASS}" ]
    then
        echo "Access granted"
    else
        echo "Access denied"
    fi


else
    echo "Directory not found."
fi

Обычно не рекомендуется хранить пароли в виде простого текста. Лучше их зашифровать или хотя бы выполнить над ними операцию хеширования:

EXPECTED_PASS=`echo "FooBar" | md5sum | cut -f1 -d" "`
...
#Save password to a temporary file
echo "${password}"  | md5sum | cut -f1 -d" " > /tmp/password.txt

#Load password from file
password=`cat /tmp/password.txt`

Надеюсь, это поможет.

Привет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...