Я пишу сценарий удара, который я планирую выполнить через крон. В этом сценарии я хочу выполнить команду против базы данных MySQL, чего-то вроде этого:
$ mysql -u username -ppassword -e 'show databases;'
Для ясности и не знакомых с mysql, переключатель "-u" принимает имя пользователя для доступа к базе данных, и "-p" для пароля (пространство, опущенное намеренно).
Я ищу хороший способ сохранить имя пользователя/пароль удобным для использования в сценарии, но способом, который также сохранит эту информацию безопасной от любопытных глаз. Я видел стратегии, которые призывают к следующему:
но я не чувствую, что это очень безопасно любой (что-то об удержании паролей, ясное делает меня тошнотворным).
Таким образом, как я должен пойти об охране пароля, который будет использоваться в автоматизированном сценарии на Linux?
Один из способов запугивать пароль - поместить его в параметры Файл . Это обычно находится в ~ / .my.cnf на системах Unix / Linux. Вот простой пример, показывающий пользователь и пароль:
[client]
user=aj
password=mysillypassword
Пожалуйста, смотрите в DOC для некоторых руководящих принципов . Дополнительный шаг, который вы можете предпринять, - это ограничить использование команды PS для обычных пользователей, если у них есть разрешение на доступ к серверу.
Я согласен с Норманом, что у вас должен быть кто-то вводит пароль. Если вы просто поставьте флаг -P
-P без прилагаемого пароля, он подскажет ему пользователя.
Единственный действительно безопасный способ охранить ваш пароль - зашифровать его. Но тогда у вас есть проблема защиты ключа шифрования. Эта проблема - черепахами все вниз.
Когда хорошие люди, которые построят OpenSSH, посвященные этой проблеме, они предоставили инструмент под названием SSH-Agent
, который будет удерживать свои учетные данные и позволит вам использовать их для подключения к нужнению сервера. Но даже SSH-агент
содержит названную розетку в файловой системе, и любой, кто может получить доступ к тому, что сокет может действовать с использованием ваших учетных данных.
Я думаю, что единственные две альтернативы
имеют ли человек ввести пароль.
Доверьтесь файловой системе.
Я доверял только местной файловой системе, а не удаленным монтируемым. Но я бы доверял этому.
Безопасность это ад.