权限控制的一个测试

今天同事问了个问题,A用户没有建表权限,B用户有建表权限。B可以建A用户下的表吗?这下真的还给问住了,只好测试一下了。
我测试了一下确实可以实现。
WANGZK>create user test_dba identified by test;

用户已创建。

WANGZK>alter user test_dba quota unlimited on tps_test;

用户已更改。

WANGZK>grant dba to test_dba;

授权成功。

WANGZK>CREATE USER TEST_READ IDENTIFIED BY TEST;

用户已创建。

WANGZK>ALTER USER TEST_READ DEFAULT TABLESPACE TPS_TEST;

用户已更改。

WANGZK>GRANT CREATE SESSION TO TEST_READ;

授权成功。

--TEST_DBA用户具有建表权限,TEST_READ没有任何权限.
TEST_DBA>conn wangzk/cherry
已连接。
WANGZK>conn test_dba
输入口令: ****
已连接。
TEST_DBA>create table test(id number);

表已创建。

TEST_DBA>create table test_read.test(id number);
create table test_read.test(id number)
*
第 1 行出现错误:
ORA-01950: 对表空间 'TPS_TEST' 无权限

TEST_DBA>conn wangzk
输入口令: ******
已连接。
WANGZK>alter user test_read quota unlimited on tps_test;

用户已更改。

WANGZK>conn test_dba
输入口令: ****
已连接。
TEST_DBA>create table test_read.test(id number);

表已创建。

--从上看出可以给TEST_READ创建表,那么疑问来了,创建之后我是否具有对他修改的权限哪?
TEST_DBA>conn test_read
输入口令: ****
已连接。
TEST_READ>insert into test values(1);

已创建 1 行。

TEST_READ>commit;

提交完成。

TEST_READ>update test set id=2;

已更新 1 行。

TEST_READ>commit;

提交完成。

TEST_READ>delete test;

已删除 1 行。

TEST_READ>rollback;

回退已完成。

TEST_READ>truncate table test;

表被截断。

TEST_READ>alter table test add (name varchar2(20));

表已更改。

TEST_READ>CREATE TABLE TEST_1(ID NUMBER);
CREATE TABLE TEST_1(ID NUMBER)
*
第 1 行出现错误:
ORA-01031: 权限不足
--自己不具备建表权限.
--收回对于那个表的所有权限又如何哪?

WANGZK>revoke all on test_read.test from test_read;

撤销成功。

WANGZK>conn test_read
输入口令: ****
已连接。
TEST_READ>alter table test modify(name varchar2(10));

表已更改。

--答案是不管用.照样具备所有权限.

--这个时候可以看出TEST_READ具有全部权限对于TEST表,其实这个也不难理解。属于你的东西,你不具备权限,谁具备哪?
  现在已经不是封建社会了,属于自己的东西也会被强权剥夺。现在可是社会主义社会,抢夺别人家的财物是犯法的。哈哈。

数据库版本:

WANGZK>select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

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

转载于:http://blog.itpub.net/728254/viewspace-610047/

你可能感兴趣的:(权限控制的一个测试)