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