如何隐藏Oracle密码

日期: 2008-07-09 作者:Rochus Mission翻译:April 来源:TechTarget中国 英文

当你有两个或两个以上Oracle数据库时,可能要求你指出你想登陆的数据库名称。如果你使用的SQL*Plus,你需要在同一数据库里(db1是数据库名)说明三个登录参量(用户名、密码和db_name),如下:  >> sqlplus scott/tiger@db1   这存在着安全风险。为了隐藏密码(只显示星号通配符),你可以输入以下指令:   >>sqlplus scott@db1   输入以上指令后按ENTER键,要求你输入密码。输入密码后,星号通配符(*)就代替了以前你输入的字符,这就是Oracleto通常处理密码的方……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

当你有两个或两个以上Oracle数据库时,可能要求你指出你想登陆的数据库名称。如果你使用的SQL*Plus,你需要在同一数据库里(db1是数据库名)说明三个登录参量(用户名、密码和db_name),如下:


 >> sqlplus scott/tiger@db1

  这存在着安全风险。为了隐藏密码(只显示星号通配符),你可以输入以下指令:

 


>>sqlplus scott@db1

  输入以上指令后按ENTER键,要求你输入密码。输入密码后,星号通配符(*)就代替了以前你输入的字符,这就是Oracleto通常处理密码的方法。事实上,你是将密码隐藏了……

  我已经在Oracle8企业修订版8.0.5.0.0和Oracle Server 7.3.4.0.0版本中测试了这一技巧。

  读者反馈:

  Michael P.:它在8.0.5.以上的版本上运行得很好。但是SQL*PLUS在其他脚本里运行得怎样呢?在这种情况下,我该怎样隐藏密码呢?

  Hing M:要从OS脚本中调用SQL*Plus,目前我发现隐藏密码的唯一方法就是不使用密码,而是连接internal.。很显然这一方法有局限性,因为你必须从当地服务器开始连接。这种方法出现的问题是输出和输出不接受userid=internal。那么这种情况下有没有隐藏密码的其他窍门呢?

  Phillip D:我多年都在使用hideargs覆盖隐藏指令密码。要了解更多的信息,你可以查看:

  http://www.usg.edu/OIIT/support/oracle/General/Unix/HideArgs.html

  我经常使用OS配置验证递规背景,而不是将密码保留在脚本里面。

  作者:是的,SQL*Plus在脚本里和密码是和密码一起发出的指令。我一点也不知道如何在脚本里面隐藏密码。然而,一个工作区(如我们在Unix的环境下进行操作)就是在脚本上对相关的用户发出指令。

  Denis D:假定是Unix环境,使用SQL*Plus还可以用下面的方法:


sqlplus /nolog <<EOF
connect usr/pass@somewhere
rem put any commands inline:
select sysdate from dual;
@my_batch_program
quit
EOF

  以上操作针对Oracle8 用户。对于旧版本,可以进行如下操作:


sqlplus  <<EOF
usr/pass@somewhere
rem put any commands inline:
select sysdate from dual;
@my_batch_program
quit
EOF

  以上操作适用于所有Unix外壳程序。

  Geoff H.:我的确喜欢Philip D的指令,但是我却不了解hidearg覆盖。我认为你隐藏密码的方法可以再细分为两种:第一种,执行’ps -ef ’观察这一过程,建议你的用户登录Unix服务器,因此为什么在Oracle帐户里不能简单地在外面识别用户身份呢?如果运行得不够好,而且他们希望能连接到更远的地方,那么就在Unix包上使用Batch用户帐号登录。如果你希望限制用户登录脚本的权限并想隐藏密码,为什么不允许用户登录SUDO,登录超级用户执行脚本呢?这些方法都能运行,整个都取决于你怎样安装。希望这些建议能对你们有所帮助。

  Witold I.:我有时用另一诀窍隐藏密码,即利用我设定的环境变量。在脚本中可设定环境变量选择用户。如:


set the_password=mypass
sqlplus user1/%the_password%@mydb

  事实上,我常在TKPROF脚本里面使用这种方法,但是我用sqlplus也测试了,这种方法也很管用。