ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 角色和用户

角色和用户

原创 Linux操作系统 作者:yangtingkun 时间:2010-09-26 23:50:48 0 删除 编辑

角色并不属于对象,因此角色并不存储在数据库的用户下。

 

 

角色和用户属于同一个命名空间,角色的名称和用户的名称不能相同。

SQL> CREATE USER U1 IDENTIFIED BY U1;

用户已创建。

SQL> CREATE ROLE U1;
CREATE ROLE U1
            *
第 1 行出现错误:
ORA-01921:
角色名 'U1' 与另一个用户名或角色名发生冲突

用户拥有CREATE ROLE权限后,可以建立角色,在建立角色后,被自动授予这个角色且包含管理权限。

不过这个权限可以由其他由管理权限的用户从创建者收回,而且删除创建者并不会影响这个角色的存在:

SQL> GRANT DBA TO U1;      

授权成功。

SQL> CONN U1/U1
已连接。
SQL> CREATE ROLE R_U1;

角色已创建。

SQL> SELECT *
  2  FROM DBA_ROLE_PRIVS
  3  WHERE GRANTEE = USER;

GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
U1                             DBA                            NO  YES
U1                             R_U1                           YES YES

SQL> GRANT R_U1 TO YANGTK WITH ADMIN OPTION;

授权成功。

SQL> CONN YANGTK
输入口令:
已连接。
SQL> REVOKE R_U1 FROM U1;

撤销成功。

SQL> SELECT *
  2  FROM DBA_ROLE_PRIVS
  3  WHERE GRANTEE = 'U1';

GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
U1                             DBA                            NO  YES

SQL> DROP USER U1;

用户已删除。

SQL> SELECT *
  2  FROM DBA_ROLE_PRIVS
  3  WHERE GRANTEE = USER;

GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
YANGTK                         R_U1                           YES YES
YANGTK                         RESOURCE                       NO  YES
YANGTK                         DBA                            NO  YES
YANGTK                         CONNECT                        NO  YES

其实要说角色不存在任何用户内也不准确,毕竟角色信息是保存在数据字典中,也就是SYS用户下,不过角色并不像其他对象那样需要一个明确的OWNER,即使角色的创建者被删除也不会影响到角色本身。

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-674913/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1964
  • 访问量
    11077131