查看: 16309|回复: 16

求助有关unlimited tablespace系统特权

[复制链接]
论坛徽章:
0
发表于 2006-3-13 18:15 | 显示全部楼层 |阅读模式
我以SYS用户创建了一个用户,然后授予了这个用户RESOURCE数据库预定义角色,这个用户就可以在任意表空间中创建对象了。

问题:这个用户可以在任意表空间中创建对象就说明这个用户被授予了unlimited tablespace系统特权,可是我通过下面的命令查看dba_sys_privs,没发现resource这个预定义角色有unlimted tablespace 系统特权呀:
SQL>select * from dba_sys_privs where grantee='RESOURCE';
同时,unlimted tablespace 系统特权根本就不能被授予角色,那这个新用户是从哪里得到unlimted tablespace 系统特权的呢?

烦请哪位高手给解释一下。
不胜感激!!!
论坛徽章:
17
ITPUB元老
日期:2005-02-28 12:57:00ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
发表于 2006-3-13 18:38 | 显示全部楼层
首先要证明你这个“这个用户可以在任意表空间中创建对象”,因为如果把所有表空间的权限赋给这个用户看起来也是一样的效果。 除非你新创建一个表空间它也有权限。

使用道具 举报

回复
论坛徽章:
60
2007年度最佳版主
日期:2008-04-03 16:46:15现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:34ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
发表于 2006-3-13 18:47 | 显示全部楼层

说清楚你的版本

@>connect / as sysdba
Connected.
@>select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
PL/SQL Release 9.2.0.6.0 - Production
CORE    9.2.0.6.0       Production
TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production

@>create user foo identified by foo;

User created.

Elapsed: 00:00:00.10
@>grant resource to foo;

Grant succeeded.

Elapsed: 00:00:00.10
@>@find_all_privs

NAME OF USER TO CHECK                 [ORCL]: foo
OUTPUT METHOD Screen/File                [S]: S
FILE NAME FOR OUTPUT              [priv.lst]:
OUTPUT DIRECTORY [DIRECTORY  or file (/tmp)]:


User => FOO has been granted the following privileges
====================================================================
        ROLE => RESOURCE which contains =>
                SYS PRIV => CREATE CLUSTER grantable => NO
                SYS PRIV => CREATE INDEXTYPE grantable => NO
                SYS PRIV => CREATE OPERATOR grantable => NO
                SYS PRIV => CREATE PROCEDURE grantable => NO
                SYS PRIV => CREATE SEQUENCE grantable => NO
                SYS PRIV => CREATE TABLE grantable => NO
                SYS PRIV => CREATE TRIGGER grantable => NO
                SYS PRIV => CREATE TYPE grantable => NO
        SYS PRIV => UNLIMITED TABLESPACE grantable => NO


10g 对权限已经作了很大的变动,比如 connect 就只有 create session 权限了

使用道具 举报

回复
论坛徽章:
60
2007年度最佳版主
日期:2008-04-03 16:46:15现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:34ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
发表于 2006-3-13 18:48 | 显示全部楼层
resouce 默认已经是很大的权限了

危险性很大

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2006-3-13 21:01 | 显示全部楼层
问一下四楼的高手:我执行这个脚本时,输入完下面这些信息后:
NAME OF USER TO CHECK                 [ORCL]: zhang
OUTPUT METHOD Screen/File                [S]: S
FILE NAME FOR OUTPUT              [priv.lst]:
OUTPUT DIRECTORY [DIRECTORY  or file (/tmp)]:
提示:请输入gt的值,问一下,这个变量gt的值应该输什么?


另外:我的问题是我已经知道我新创建的用户通过RESOURCE角色得到了unlimited tablespace系统特权,我想知道他是如何得到的?因为1、unlimted tablespace 系统特权不能被授予角色(ORACLE文档中说的)2、我查了DBA_SYS_PRIVS,没发现RESOURCE角色里面包含unlimited tablespace 特权,那这个新用户的unlimted tablespace特权是怎么得到的?

使用道具 举报

回复
论坛徽章:
200
会员2006贡献徽章
日期:2006-04-17 13:46:34生肖徽章:鸡
日期:2007-08-21 16:36:31管理团队2007贡献徽章
日期:2007-09-26 00:03:14会员2007贡献徽章
日期:2007-09-26 18:42:102008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:狗
日期:2008-03-14 10:23:03生肖徽章2007版:虎
日期:2008-04-02 13:24:51奥运会纪念徽章:沙滩排球
日期:2008-04-22 09:35:56奥运会纪念徽章:水球
日期:2008-05-15 15:03:04奥运会纪念徽章:排球
日期:2008-05-27 16:48:43
发表于 2006-3-13 21:50 | 显示全部楼层
UPUPUP,  ONLY FOR THE WORM

使用道具 举报

回复
论坛徽章:
56
马上加薪
日期:2014-12-22 13:11:12复活蛋
日期:2011-08-31 14:55:20ITPUB9周年纪念徽章
日期:2010-10-08 09:32:252010世博会纪念徽章
日期:2010-09-07 08:52:012010年世界杯参赛球队:瑞士
日期:2010-06-24 09:16:222010年世界杯参赛球队:德国
日期:2010-04-27 09:40:272010年世界杯参赛球队:韩国
日期:2010-04-23 23:34:412010新春纪念徽章
日期:2010-03-01 11:06:222010新春纪念徽章
日期:2010-01-04 08:33:08参与WIN7挑战赛纪念
日期:2009-11-06 10:44:24
发表于 2006-3-14 18:34 | 显示全部楼层

Re: Re: 求助有关unlimited tablespace系统特权

嗯,这个问题我也不知道哎,呵呵,为什么呢?

最初由 Kamus 发布
[B]

这个问题比较有意思

呵呵,求解 [/B]

使用道具 举报

回复
论坛徽章:
18
ITPUB元老
日期:2005-02-28 12:57:002010年世界杯参赛球队:南非
日期:2010-04-19 12:17:452010新春纪念徽章
日期:2010-03-01 11:05:01生肖徽章2007版:牛
日期:2009-11-02 17:04:55祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:兔
日期:2008-09-22 19:33:40奥运会纪念徽章:蹦床
日期:2008-09-09 11:00:24奥运会纪念徽章:跳水
日期:2008-06-16 06:59:25ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44数据库板块每日发贴之星
日期:2007-10-08 01:03:42
发表于 2006-3-14 18:46 | 显示全部楼层
都是版本惹的祸,10不会这样,9grant做sql_trace应该可以看到尽管这个用户没有直接被grant,但是grant resource以后sysauth$里这个用户应该是两行,一行是resource,一行是这个unlimited tablespace

使用道具 举报

回复
论坛徽章:
60
2007年度最佳版主
日期:2008-04-03 16:46:15现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:34ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
发表于 2006-3-14 18:47 | 显示全部楼层

Re: Re: 求助有关unlimited tablespace系统特权

最初由 Kamus 发布
[B]

这个问题比较有意思

呵呵,求解 [/B]


我的演示里已经表明了

resouce 包含的

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
发表于 2006-3-14 18:52 | 显示全部楼层
一般的,如果是自己开发的项目,那么最好自己定义角色,这样控制就容易多了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表