Що за послуга? Деякі служби мають інші методи аутентифікації, наприклад, SSH-ключі для SSH спільно з агентом SSH.
Я зберігаю пароль окремо від сценарію і переконуюсь, що всі компоненти контуру мають правильні дозволи. Наприклад, переконайтеся , що на шляху /path/to/file
, /
, /path
і /path/to
належать користувачеві , якому ви довіряєте ( root
) , і що вони не доступні для запису ким - то , хто не має права бачити файли. Нарешті, рекомендовані дозволи для file
600 чи 400.
Це file
могло б виглядати приблизно так:
PASSWORD='something that you cannot remember'
У своєму сценарії використовуйте наведений нижче код для імпорту змінної:
. /path/to/file
Що стосується вашого сценарію, переконайтеся, що він не містить отворів, які можуть дозволити зловмисникам виконувати код у контексті сценарію (наприклад, неконтрольоване середовище, яке може мати набір довільних $PATH
змінних або недійсне використання інших файлів (наприклад, пошук світового файлу, що записується) .
Що стосується фактичного захисту вашого пароля, ви не можете. Він повинен бути доступний якимось чином для іншої служби. Як альтернативу, ви можете зашифрувати файл / скрипт, що містить пароль, використовуючи openssl
або, gpg
таким чином, вам потрібно ввести пароль до розблокування облікових даних. Це особливо корисно, якщо пароль вашої служби важко запам'ятати.