Мне недавно пришлось свалить свои навыки Perl и shell script, чтобы помочь некоторым коллегам. Соответствующим коллегам было поручено предоставить некоторые отчеты из внутреннего приложения с большим бэкэндом базы данных Oracle, и у них просто нет навыков для этого. Хотя некоторые могут сомневаться в том, есть ли у меня эти навыки (усмешка), по-видимому, достаточно людей, которые, как я полагаю, я имею в виду, что я не могу их выучить.
Таким образом, на мой вопрос - для извлечения отчетов из базы данных, мой script, очевидно, должен подключать и запускать запросы. Я до сих пор не смог найти хорошее решение для хранения имени пользователя и пароля для базы данных, поэтому в настоящее время он хранится в виде открытого текста в script.
Есть ли хорошее решение для этого, которое кто-то еще написал, возможно, как модуль CPAN? Или есть что-то еще, что лучше сделать - например, сохранить комманду user/password в полностью отдельном файле, который скрыт где-то еще в файловой системе? Или я должен хранить их тривиально зашифрованным, чтобы просто избежать их вытаскивания из моих скриптов с помощью системного grep?
Изменить:
База данных Oracle находится на сервере HP-UX.
Сервер приложений (запуск сценариев оболочки) - это Solaris.
Настройка скриптов, принадлежащих только мне, - это не-go, они должны принадлежать учетной записи службы, доступ к которой имеет несколько сотрудников службы поддержки.
Сценарии предназначены для запуска как задания cron.
Я бы хотел пойти с аутентификацией с открытым ключом, но я не знаю методов, чтобы сделать эту работу с Oracle - если есть такой метод - просветите меня!