oracle_控制用户权限



oracle_控制用户权限

①对 限制
    数据库安全:
    系统安全
    数据安全性
    系统权限: 对于数据库的权限
    对象权限: 操作数据库对象的权限

1.系统权限
    超过一百多种有效的权限
    数据库管理员具有高级权限以完毕管理任务。比如:
        创建新用户
        删除用户
        删除表
        备份表

②创建用户
DBA 使用 CREATE USER 语句创建用户
CREATE USER user                   
IDENTIFIED BY   password;

1.用户的系统权限
用户创建之后, DBA 会赋予用户一些系统权限
GRANT privilege [, privilege...]   
TO user [, user| role, PUBLIC...];

以应用程序开发人员为例, 一般具有下列系统权限:
CREATE SESSION(创建会话)
CREATE TABLE(创建表)
CREATE SEQUENCE(创建序列)
CREATE VIEW(创建视图)
CREATE PROCEDURE(创建过程)

③创建用户表空间
用户拥有create table权限之外,还须要分配对应的表空间才可开辟存储空间用于创建的表
ALTER USER atguigu01(用户) QUOTA UNLIMITED (无限制)
ON users(表空间)

④创建角色并赋予权限
1.创建角色
CREATE ROLE manager;

2.为角色赋予权限
GRANT create table, create view    
TO manager;

3.将角色赋予用户
GRANT manager TO DEHAAN, KOCHHAR;    

⑤改动password
DBA 能够创建用户和改动password
用户本人能够使用 ALTER USER 语句改动password
ALTER USER scott                 
IDENTIFIED BY lion;

⑥对象权限
不同的对象具有不同的对象权限
对象的拥有者拥有全部权限
对象的拥有者能够向外分配权限
GRANT object_priv [(columns)]
 ON  object
 TO  {user|role|PUBLIC}
 [WITH GRANT OPTION];

WITH GRANT OPTION和PUBLICkeyword
WITH GRANT OPTION 使用户相同具有分配权限的权利
向数据库中全部用户分配权限

⑦查询权限分配情况
数据字典视图 描写叙述
ROLE_SYS_PRIVS 角色拥有的系统权限
ROLE_TAB_PRIVS 角色拥有的对象权限
USER_ROLE_PRIVS 用户拥有的角色
USER_TAB_PRIVS_MADE 用户分配的关于表对象权限
USER_TAB_PRIVS_RECD 用户拥有的关于表对象权限
USER_COL_PRIVS_MADE 用户分配的关于列的对象权限
USER_COL_PRIVS_RECD 用户拥有的关于列的对象权限
USER_SYS_PRIVS 用户拥有的系统权限

⑧收回对象权限
使用 REVOKE 语句收回权限
使用 WITH GRANT OPTION 子句所分配的权限相同被收回
REVOKE {privilege [, privilege...]|ALL}
ON   object
FROM   {user[, user...]|role|PUBLIC}
[CASCADE CONSTRAINTS];


版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-09-22 20:23  zfyouxi  阅读(165)  评论(0编辑  收藏  举报