网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.ORACLE在HP-UX下的系列问题处理(.
.Oracle Database 10g 中新特性.
.ERwin相关概念快速入门.
.ORACLE入门之用户连接的管理.
.对刚接触oracle的人比较有用的一.
.Slackware Linux 101 在引导 Lin.
.FreeBSD-5.2下安装ORACLE9i手记.
.ExactPapers Oracle 1Z0-123 200.
.手工建造 Swap File.
.处理未决事务.
.PL/SQL构建代码分析工具之从测试.
.Trustix Secure Linux简介.
.ORACLE关于bin目录下各文件的意义.
.Oracle许可执行安全模式更好实现.
.解决Linux下SQL*Plus历史回调功能.
.图解Oracle9i在Windows2000下的安.
.Linux 7.1 上的 oracle8.1.7安装.
.oracle的毛病!!.
.在oracle数据库平台上仿真BCP OUT.
.关于Oracle数据库中密码安全管理.

Oracle环境的安全性

发表日期:2008-2-9



  (1)用户
    如:create user spgroup identified by spgroup
      default tablespace data
      temporary tablespace temp
      quota 20k on system;
      quota unlimited on data;
      grant create session to spgroup;//此用户可使用,必须被授予create session的系统权限
    创建Oracle用户时,若不指定缺省的表空间,Oracle就会将system表空间作为其存储数据对象的缺省位置。
  临时表空间时新用户创建临时段的位置,所有用户的临时段应建在一个单独的表空间中,以避免在其他表空间造成空闲空间碎片。
    配额可以指定用户在哪个表空间用有配额。分配给该用户的存储空间可存储任何类型的数据库对象。用来创建临时段的表空间不需要配额。
    select * from dba_ts_quotas where username='FLOWER';查看分配给用户的配额。  
    alter user fowler identified by price;//改用户名
    alter user fowler quota 0 on user_data;//阻止fowler用户再使用数据库中的//更多空间。
    drop user bradley1;//若用户下不包含对象
    drop user bradley cascade;//若用户下包含对象,必须加cascade,将删除所有用户下对象,//但不会删除其他模式的对象,如基于删除用户模式的对象的同义词、视图、存储过程、函数、包,他们会失效。
  
    (2)权限
    1、系统级权限
    grant create table to permjit; 
    grant create table to permjit with admin option;
    grant create any table to permjit;//any可以使一oracle用户创建其他任何用户的表
    grant create table to public;//public表示数据库的所有的用户
    revoke create table from permjit,fowler;
    revoke create table from public;//直接授予的系统权限不受影响
    select * from dba_sys_privs where grantee='SPGROUP';//若系统权限是直接授予用户的,可从此处查
  //直接授予的系统权限指不是通过role和public授予的,而直接显示被授予的
    2、对象级权限
    grant Select on spgroup.STAFF_FUNC to csp_connect ;
    grant Select on spgroup.STAFF_FUNC to role_user ;
    grant execute on spgroup.sosp_addr_i to role_user;
    //使用execute权限,存储过程在被调用时,该过程在其属主的用户内部执行,和其属主的用户调用效果一样,影响并使用表和其他对象,因此不用授予存储过程使用的相关表的任何权限。
    alter,index,references的权限不常用。
    grant all on spgroup.so to fzbase;//赋所有的对象级权限。
    grant Select on spgroup.STAFF_FUNC to csp_connect with grant option;
    //使被授权的Oracle用户再将这种对象级权限授予另外的用户。
    查看对象级权限:
    select * from table_privileges where GRANTEE='CSP_CONNECT';
    **** select * from table_privileges where GRANTEE='PUBLIC';
    //table_privileges显示用户拥有的所有的对象级权限列表,column_privileges显示用户拥有的所有的列级权限列表。(不论是直接授予还是通过角色授予的)
    一个oracle用户的权限包括直接授予该用户的权限,授予public用户的权限和授予用户所具有的角色的权限,这些角色必须是答应的。
  
    (3)角色
    授权与回收与权限一致,也可使用public;
    set role;禁止角色。
    set role all;打开所有的角色
    set role all except salesperson;
    set role manager;只打开角色manager
    查看角色:
    select * from dba_roles;//数据库中的所有角色的名字
    select * from dba_role_privs where grantee='FZBASE';//哪个用户具有哪个角色
    select * from role_sys_privs;//角色的系统级权限
    角色的对象级的权限不放在role_table_privs而在
    select * from table_privileges where grantee='ROLEUSER';(Oracle 8的变化)
    角色的缺点:
    假如对象的权限是通过角色获得的,则不能在其上创建过程化对象(过程、函数、包)。

上一篇:实现数据库表空间的备份或迁移 人气:1006
下一篇:系统启动脚本分析(6)--其它一些脚本简介 人气:592
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐