Recientemente tuve que desempolvar mis habilidades de script Perl y shell para ayudar a algunos colegas. Los colegas en cuestión han recibido la tarea de proporcionar algunos informes de una aplicación interna con un gran back-end de base de datos de Oracle, y simplemente no tienen las habilidades para hacerlo. Si bien algunos podrían cuestionar si tengo esas habilidades (sonrisa), al parecer, la gente piensa que sí quiero decir que no puedo evitarlo.¿Mejores prácticas para mantener contraseñas en shell/scripts de Perl?
Por lo tanto, a mi pregunta: para extraer los informes de la base de datos, mi script obviamente tiene que conectarse y ejecutar consultas. Hasta ahora no he logrado encontrar una buena solución para almacenar el nombre de usuario y la contraseña de la base de datos, por lo que actualmente se almacena como texto sin formato en el script.
¿Hay una buena solución para esto que alguien más ya haya escrito, tal vez como un módulo de CPAN? ¿O hay algo más que es mejor hacer, como mantener el combo usuario/contraseña en un archivo completamente separado que está escondido en otro lugar en el sistema de archivos? ¿O debería mantenerlos trivialmente encriptados para evitar que sean sacados de mis scripts con un grep de todo el sistema?
Editar: La base de datos Oracle se encuentra en un servidor HP-UX.
El servidor de aplicaciones (que ejecuta los scripts de shell) es Solaris.
Establecer las secuencias de comandos para que sean propiedad de mí solo es un no-go, tienen que ser propiedad de una cuenta de servicio que tiene acceso al personal de soporte múltiple.
Los scripts están destinados a ejecutarse como tareas cron.
Me encantaría ir con autenticación de clave pública, pero desconozco los métodos para hacer que eso funcione con Oracle, si existe tal método, ¡infórmame!
¿Es fácil de configurar con Oracle (creo que 10g)? – GodEater
Después de buscar un poco en el sitio web de Oracle, parece que "Oracle Wallet" es lo que quiero. Ahora ir mal a mis DBA para que se implemente. Muchas gracias :) – GodEater