Скрытие поля пароля в командной строке - PullRequest
0 голосов
/ 19 апреля 2019

Я пишу системную службу во FreeBSD, где мне нужно взять учетные данные пользователя для проверки личности, что-то вроде этого:

./compression_bin -i <input_file> --type=<type> --password=<secret key>

Здесь секретный ключ используется для аутентификации пользователя перед сжатием данного файла. В настоящее время секретный ключ обнаруживается в истории, что плохо и может быть использовано. Есть ли способ, где выше может быть вызван без отображения поля пароля:

./compression_bin -i <input_file> --type=<type> --password=*********

1 Ответ

4 голосов
/ 19 апреля 2019

История всегда будет записывать текст команд, которые были введены.Можно предположить, что вы можете вернуться и изменить файл истории, но это не только неприятно, но и дает окно, в котором можно прочитать пароль.

Более того, это даже не самый простой эксплойт.Если пароль указан в командной строке, то есть другие способы его чтения во время выполнения команды, например, из вывода команды ps, доступной для всех пользователей.

Итакне принимайте пароль в качестве аргумента командной строки.Прочитайте его из файла, или из стандартного ввода, или из сокета, или из чего-то другого.

...