首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>其他>正文

账户方案系统角色多管齐下保障Oracle的安全

http://www.oklinux.cn  2009-02-23  IT专家网    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

  一、账户与系统角色结合,提高了账户的安全性。

  账户是定义在数据库系统中的一个名称,它是数据库的基本访问控制机制。当连接到Oracle数据库时,跟其他数据库一样,需要用户输入用户名与密码。数据库系统就是凭借这个用户名来授予其相应的数据库访问权限。不过,这跟其他数据库又有所不同。因为Oracle数据库有有一类很特殊的账户-特权账户。这些特权账户具有某些比较特殊的权限。为了数据库的安全,他们除了在数据库中要拥有某些特定的权限之外,还必须拥有操作系统对应的权限。数据库与操作系统一起,来保障数据库的安全。

  如在Oracle数据库中,主要有两类特权用户,分别为SYSDBA与SYSOPER。这两类用户主要用用来执行一些特殊的作业。如启动关闭数据库、建立数据库、备份与恢复操作等等。这些作业明显会直接影响到数据库的正常作业;而且备份恢复操作还直接跟数据库数据安全息息相关。为了保障这些特权账户的安全,Oracle数据库还采用了一些特殊机制。如Oracle要求,除了在数据库中要拥有对应的权限之外,还必须在操作系统中也是某些特定角色的成员。例如,Oracle数据库若是部署在微软的操作系统下,则安全成功后,在操作系统的角色中,会多SYSDBA与OSOPER两个组。特权账户必须要属于这两个组,才能够进行如上所述的一些数据库维护作业。同理,在Linux等其他操作系统平台下,也需要具有类似的权限。通过这种策略,特权账户的安全就又多了一个保障。如数据库管理员只想使用特权账户SYSDBA来管理维护数据库,而不需要SYSOPER账户。此时,数据库管理员就有两个选择。要么在数据库中禁用这个账户;要么在操作系统中把这个账户从Oracle建立的组中剔除出去。

  虽然SYSOPER与SYSDBA账户都是属于特权账户,但是他们的权限还是由差异的。如特权账户SYSDBA具备了特权账户SYSOPER的所有权限之外,还具有建立数据库、执行不完全恢复等权限。同时,前者还自动具备了DBA角色的所有权限;而后者则不具备DBA角色的权限。为了数据库库的安全,通常情况下不能够把这些特权账户的权限赋予给其他用户。虽然可以通过更改初始化参数来突破这个限制,但是出于数据库的安全考虑,我们都不建议这么处理。

  可见,特权账户与操作系统固定权限结合,双管齐下,来保障数据库的安全,这是Oracle数据库的一个突破。其在很大程度上,提高了特权账户的安全性。若是普通账户,则没有这方面的限制。

  二、账户与方案一一对应保障Oracle安全。

  除了账户与系统角色结合,来提高账户安全性之外,Oracle数据库另外一个值得称颂的地方就是把账户与方案联系起来,进一步提高了账户的安全性。

  在Oracle数据库中,方案是用户所拥有数据库对象的集合。这是因为在Oracle数据库中对象是以用户来组织的,用户与方案是一一对应的,并且两者所使用的名称相同。利用Oralce数据库与实例安装完成后,其默认情况下有两个用户,分别为SYSTEM与SCOTT。他们分别对应了两个方案SYSTEM与SCOTT。Oracle数据库就是账户与方案一起,来提高数据库访问的安全性。

  如用户可以直接访问其自己的方案对象,但是如果需要访问其他用户的方案对象时,则需要具有相关的权限。如用户SCOTT,其方案SCOTT下所有的数据库对象都可以进行访问。但是,如果SCOTT用户想访问方案SYSTEM下面的数据库对象,则需要先经过用户SYSTEM进行授权。如果他没有把这个访问的权限授权给SCOTT的话,则用户SCOTT就无法访问方案SYSTE下面的任何一个数据库对象。所以,方案就好像一个个保护罩,又把数据库逻辑的分割成几个独立的区域。这个区域的主人可以任意访问内部的任何数据库对象。若其他用户想要访问这个区域的话,则必须要先经过这个区域主人的授权。这一个个区域(方案)是用户的私人领地,未经允许他人不得进入。通过这种方式,用户就可以保护自己所建立数据对象的安全。

  在使用方案是,需要注意一些细节方面的问题。如在同一个方案中,不能够存在同名的对象;但是在不同的方案中,不同用户可以建立同名的对象。还有当某个用户要访问其他方案的对象时,必须加入方案名最为前缀。也就说,要在数据库对象名之前加入主人的名字。这些是硬性规则,不能够打折扣。

共3页: 上一页 1 [2] [3] 下一页

上一篇:linux驱动程序工程师 北京天华威视科技有限公司   下一篇:Linux C 高级工程师 北京壁虎科技有限公司

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·让 Kohama 支持 Unix Domain Socket 方式连接到 MySQL
·五款常用MySQL slow log分析工具的比较
·MySQL管理利器:phpMyAdmin 3.1.3 RC1 释出
·Oracle中存取控制介绍
·Oracle外键列上是否需要索引?
·MySQL双向复制简单配置步骤
·Linux下Oracle10g
·Linux下实现自动备份Oracle数据库
·Linux下安装MySQL 5.1.31过程总结
·Linux Oracle 设置LOCK_SGA
·在Linux下安装图形界面MySQL管理工具
·Unix平台Oracle数据库优化简介
·MySQL数据库性能优化实战
·在Ubuntu下为MySQL添加ODBC驱动
·使用 Jboss 配置数据源代码
·Oracle的回滚段存储内容分析
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Oracle 10g for solaris准备工作和实例
·Oracle主键的设置
·Oracle查询表、视图、序列等信息查询
·Oracle笔记之简单查询、限定查询和排序
·Oracle物理结构概述
·Oracle中nul()函数
·Oracle数据库归档模式的切换
·Oracle 10g 编程艺术
·在RadHat 5上安装Oracle 10g
·Oracle和MySQL对比
·采用Oracle的dbms_obfuscation_toolkit
·Oracle中的Raw类型解释
  阅读排行
·MySQL中文乱码解决方案集锦
·Oracle面试题及答案整理
·Linux下安装Oracle数据库完整笔记
·MySQL导入导出.sql文件步骤
·Oracle10g RAC for Linux配置全过程
·Oracle建表过程初学
·Linux平台下配置MySQL主从复制
·Linux系统下启动MySQL的命令及相关知识
·Oracle 建立临时表语法及使用技巧
·Oracle数据库里查看表空间使用状况
·Linux下Oracle sqlplus中文显示乱码的
·Linux下安装Oracle客户端
·MySQL服务器上添加一个允许远程访问的
·手工配置Oracle 10G Enterprise Manage
·Linux平台下启动oracle 11g EM控制台
网摘收藏: