在shell/Perl脚本中保存密码的最佳做法?

God*_*ter 11 oracle bash perl ksh

我最近不得不放弃我的Perl和shell脚本技能来帮助一些同事.有问题的同事的任务是从内部应用程序提供一些带有大型Oracle数据库后端的报告,他们根本没有这方面的技能.虽然有些人可能会质疑我是否具备这些技能(咧嘴笑),显然有足够的人认为我的意思是我无法摆脱它.

所以对我的问题 - 为了从数据库中提取报告,我的脚本显然必须连接并运行查询.到目前为止,我还没有设法找到一个很好的解决方案,用于存储数据库的用户名和密码,因此它目前在脚本中以明文形式存储.

对于其他人已经编写过的,有没有一个很好的解决方案,可能作为CPAN模块?或者还有其他更好的事情 - 比如将用户/密码组合保存在一个完全独立的文件中,该文件隐藏在文件系统的其他位置?或者我应该对它们进行简单的加密,以避免它们被系统范围的grep从我的脚本中拉出来?

编辑:Oracle数据库位于HP-UX服务器上.
应用程序服务器(运行shell脚本)是Solaris.
将脚本设置为仅由我拥有是不行的,它们必须由多个支持人员可以访问的服务帐户拥有.
这些脚本旨在作为cron作业运行.
我喜欢使用公钥验证,但我不知道如何使用Oracle的方法 - 如果有这样的方法 - 启发我!

Red*_*ard 7

恕我直言,最佳做法是不在shell/Perl脚本中保存任何密码.这就是公钥认证的用途.


Mat*_*son 5

如果脚本是从服务器远程运行的.

  1. 制作报告视图
  2. 为您登录的用户提供仅在报表视图上进行选择的权限
  3. 只需存储密码即可.

这样,用户可以做的就是选择报告的数据.即使有人碰巧得到了密码,他们也可能会受到限制.