你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / 数据库开发
oracle基础(14)
 
结论
这是一个您无法立即执行的操作。 收回任何用户的任何权限之前,需要认真分析它的影响。

如果拿不准,最好的操作流程是与持有该用户 ID 的人员进行交流。 例如,ATHOTANG 并不是真的需要删除表,但却被假设成这样。 (不要奇怪,这样的假设是很常见的。)

操作计划
该任务需要一些规划,以便准备下一阶段的所有操作。 在此之前,收集所需的信息。


1.9 更改 DBSNMP 密码

背景
如您所知,Oracle Intelligent Agent 与 Oracle Enterprise Manager 通信,传递有关组件(例如数据库、监听程序以及服务器本身)的信息。 要获得关于数据库的数据,需要使用某个用户 ID 连接数据库。 默认情况下,使用的用户 ID 是 BSNMP。

创建数据库时,dbsnmp 的密码也被设置为 dbsnmp。 该用户有一些强大的权限,例如 UNLIMITED TABLESPACESELECT ANY DICTIONARY(允许用户从动态性能视图和数据字典视图中选择)和 ANALYZE ANY DICTIONARY(允许分析系统对象)。 很多入侵者使用该用户和密码作为进入数据库的后门入口点。 不用说,这是一个巨大的安全漏洞。

策略
您需要将该用户的密码 dbsnmp。 但是,您不能只是在数据库级别更改该密码,因为该密码还存储在代理配置文件中。 您还需要更新配置文件以使用新密码。 下面是在 Oracle 数据库 10g 中的操作过程。
  1. 首先,将用户 DBSNMP 的密码更改为别的内容(例如 TopSecret):
    SQL> alter user dbsnmp identified by topsecret;
  2. 转至 Oracle Agent Home 的安装目录(不是 ORACLE_HOME),例如 /u01/app/oracle/10.1/gridc。
  3. 转至目录 <hostname>/sysman/emd,其中 <hostname> 是主机或服务器的名称。 例如,如果服务器的名称为 prolin1,则目录应为 prolin1/sysman/emd
  4. 在这里,您会找到一个名为 targets.xml 的文件。复制该文件,为其取一个新名字(例如 targets.xml.old)。
  5. 打开文件 targets.xml,搜索“dbsnmp”一词;与以下内容类似
    <Target TYPE="oracle_database" NAME="PROPRD1_prolin1">
    <Property NAME="MachineName" VALUE="192.168.101"
    <Property NAME="OracleHome" VALUE="/u01/app/oracle/10.1/db1"
    <Property NAME="Port" VALUE="1521"
    <Property NAME="Role" VALUE="NORMAL"
    <Property NAME="SID" VALUE="PROPRD1"
    <Property NAME="ServiceName" VALUE="PROPRD"
    <Property NAME="UserName" VALUE="dbsnmp"
    <Property NAME="password" VALUE="3797cf30e7c4a9c6" ENCRYPTED="TRUE"
    <CompositeMembership>
    <MemberOf TYPE="rac_database" NAME="PROPRD" ASSOCIATION="cluster_member"
    </CompositeMembership>
    </Target>
    
  6. 注意这一行:
    <Property NAME="password" VALUE="3797cf30e7c4a9c6" ENCRYPTED="TRUE"/>

    您将在这一行中设置密码的值。 将上述内容替换为:

    <Property NAME="password" VALUE="topsecret" ENCRYPTED="FALSE"/>

    注意,您将 ENCRYPTED 的值更改为了 FALSE

  7. 如果这是一个 RAC 数据库,该行将在文件中出现两次。 确保在两行中都做了更改。 在文件中搜索“password”一词,找到这两行。

  8. 现在,通过发出以下命令停止代理:
    /u01/app/oracle/10.1/gridc/bin/emctl stop agent
  9. 重新启动代理:
    /u01/app/oracle/10.1/gridc/bin/emctl stop agent
  10. 重新启动代理后,会加密配置文件中的明文密码。 如果再次在 targets.xml 文件中查看上面的行,将看到类似下面的内容:
    <Property NAME="password" VALUE="3797cf30e7c4a9c6" ENCRYPTED="TRUE"/>

    注意将明文值转换为加密值的方式。

  11. 现在已将代理配置为使用新的密码。

  12. 如果使用独立的数据库控制台而非网格控制,则操作过程相似,只是在第 2 步中,您要转至 ORACLE_HOME 而不是 Agent Home 所在的目录。

(编辑:anna sui)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089