Как я могу скрыть пароль/имя пользователя, используемый в сценарии удара для доступа к MySQL?

Я пишу сценарий удара, который я планирую выполнить через крон. В этом сценарии я хочу выполнить команду против базы данных MySQL, чего-то вроде этого:

$ mysql -u username -ppassword -e 'show databases;'

Для ясности и не знакомых с mysql, переключатель "-u" принимает имя пользователя для доступа к базе данных, и "-p" для пароля (пространство, опущенное намеренно).

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

  1. Сохраните пароль в файле: pword.txt
  2. chmod 700 pword.txt (удаляют полномочия для всех кроме владельца файла"
  3. CAT pword.txt в переменную в сценарии при необходимости для входа в систему.

но я не чувствую, что это очень безопасно любой (что-то об удержании паролей, ясное делает меня тошнотворным).

Таким образом, как я должен пойти об охране пароля, который будет использоваться в автоматизированном сценарии на Linux?

15
задан Steven 27 January 2010 в 02:36
поделиться

4 ответа

Один из способов запугивать пароль - поместить его в параметры Файл . Это обычно находится в ~ / .my.cnf на системах Unix / Linux. Вот простой пример, показывающий пользователь и пароль:

[client]
user=aj
password=mysillypassword
5
ответ дан 1 December 2019 в 05:07
поделиться

Пожалуйста, смотрите в DOC для некоторых руководящих принципов . Дополнительный шаг, который вы можете предпринять, - это ограничить использование команды PS для обычных пользователей, если у них есть разрешение на доступ к серверу.

0
ответ дан 1 December 2019 в 05:07
поделиться

Я согласен с Норманом, что у вас должен быть кто-то вводит пароль. Если вы просто поставьте флаг -P -P без прилагаемого пароля, он подскажет ему пользователя.

-2
ответ дан 1 December 2019 в 05:07
поделиться

Единственный действительно безопасный способ охранить ваш пароль - зашифровать его. Но тогда у вас есть проблема защиты ключа шифрования. Эта проблема - черепахами все вниз.

Когда хорошие люди, которые построят OpenSSH, посвященные этой проблеме, они предоставили инструмент под названием SSH-Agent , который будет удерживать свои учетные данные и позволит вам использовать их для подключения к нужнению сервера. Но даже SSH-агент содержит названную розетку в файловой системе, и любой, кто может получить доступ к тому, что сокет может действовать с использованием ваших учетных данных.

Я думаю, что единственные две альтернативы

  • имеют ли человек ввести пароль.

  • Доверьтесь файловой системе.

Я доверял только местной файловой системе, а не удаленным монтируемым. Но я бы доверял этому.

Безопасность это ад.

5
ответ дан 1 December 2019 в 05:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: