ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于权限和角色的几个问题

关于权限和角色的几个问题

原创 Linux操作系统 作者:lnwxzyp 时间:2013-01-16 00:46:03 0 删除 编辑
      权限:Privilege   角色:Role这两者其实都是跟权限有关的,只不过角色的权限是不确定的,或许有1至多个,甚至可能没有权限(如果只创建了角色而没有赋予权限的话),也有可能一个角色里面也包含多个角色。因此要想查询到一个用户、一个角色到底具有怎样的权限可以通过一下几个系统数据字典来查看:
1. [USER|DBA]_sys_privs   包括【当前|所有】用户所具有的所有权限
2. [USER|DBA]_role_privs  包括【当前|所有】用户所具有的角色
3. role_role_privs                包括所有角色所拥有的其他角色
4. role_sys_privs                 包括所有角色所拥有的权限
 
今天遇到一个诡异的问题,DBA角色所拥有的权限或角色如下:
SQL> select role,granted_role from role_role_privs where role='DBA';
ROLE                           GRANTED_ROLE
------------------------------ ------------------------------
DBA                            OLAP_DBA
DBA                            SCHEDULER_ADMIN
DBA                            DELETE_CATALOG_ROLE
DBA                            EXECUTE_CATALOG_ROLE
DBA                            WM_ADMIN_ROLE
DBA                            EXP_FULL_DATABASE
DBA                            SELECT_CATALOG_ROLE
DBA                            JAVA_DEPLOY
DBA                            GATHER_SYSTEM_STATISTICS
DBA                            JAVA_ADMIN
DBA                            XDBADMIN
DBA                            IMP_FULL_DATABASE
DBA                            XDBWEBSERVICES
直接赋予GRANTED_ROLE所列出来的角色或权限,应用那边得到的反馈居然不行,启动某个应用后提示表或视图不存在,赋予DBA角色之后就正常了,不知何故。
被授予角色的用户,如果角色具备某些权限则只能通过收回角色来达到目的,比如授予resource和create table权限,通过 revoke create table from XXX实际上XXX用户仍然具有创建表的权限,因为resource角色里面包含了create table权限,但是resource角色所具有的unlimited tablespace权限却可以通过revoke unlimited tablespace from XXX来收回权限。

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

上一篇: Linux 设置本地源
下一篇: XShell使用心得
请登录后发表评论 登录
全部评论

注册时间:2008-04-25

  • 博文量
    129
  • 访问量
    709316