怎么进行Privilege Oracle系统权限非级联收回现象的测试

这篇文章给大家介绍怎么进行Privilege Oracle系统权限非级联收回现象的测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

  Oracle权限分为系统权限和对象权限。这里给大家演示一下关于系统权限授予以及回收过程中的一个特殊场景:系统权限非级联收回现象。
  实验中共涉及到三个用户:SYS用户、secooler1用户和secooler2用户。

1.清理并初始化用户
1)清理测试用户secooler1和secooler2
sys@secdb> drop user secooler1;

User dropped.

sys@secdb> drop user secooler2;

User dropped.

2)创建测试用户secooler1和secooler2
sys@secdb> create user secooler1 identified by secooler1;

User created.

sys@secdb> create user secooler2 identified by secooler2;

User created.

2.对secooler1用户和secooler2用户进行授权
1)SYS用户使用with admin option选项对secooler1用户授予创建会话的系统权限
sys@secdb> grant create session to secooler1 with admin option;

Grant succeeded.

2)连接到secooler1用户将创建会话的权限授予secooler2用户
因为secooler1具有admin权限,因此可以将创建会话的权限再次授予其他用户,这里将创建会话的权限授予secooler2用户。
sys@secdb> conn secooler1/secooler1
Connected.
secooler1@secdb> grant create session to secooler2;

Grant succeeded.

3.查看系统权限授予情况
1)连接到SYS用户
secooler1@secdb> conn / as sysdba
Connected.

2)查看secooler1用户的系统权限
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER1';

GRANTEE              PRIVILEGE                      ADM
——————– —————————— —
SECOOLER1            CREATE SESSION                 YES

secooler1用户具有创建会话的权限,同时具有admin选项。

3)查看secooler2用户的系统权限
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER2';

GRANTEE              PRIVILEGE                      ADM
——————– —————————— —
SECOOLER2            CREATE SESSION                 NO

secooler2用户具有创建会话的权限。

4.使用SYS用户回收secooler1用户的创建会话权限
sys@secdb> revoke create session from secooler1;

Revoke succeeded.

5.确认系统权限回收结果
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER1';

no rows selected

sys@secdb> select * from dba_sys_privs where grantee='SECOOLER2';

GRANTEE              PRIVILEGE                      ADM
——————– —————————— —
SECOOLER2            CREATE SESSION                 NO

可见,secooler1用户的创建会话的权限已经被回收成功,但是注意,这里secooler2用户的创建会话的权限并没有被级联收回。这便是系统权限回收过程中的特点。

6.测试用户权限收回结果
sys@secdb> conn secooler2/secooler2
Connected.
secooler2@secdb> conn secooler1/secooler1
ERROR:
ORA-01045: 用户 SECOOLER1 没有 CREATE SESSION 权限; 登录被拒绝

Warning: You are no longer connected to ORACLE.

可见,此时secooler2用户依然可以连接成功,因为secooler2用户的创建会话的权限没有被级联收回。

7.小结
  Oracle系统权限不具有级联收回的功能。在使用具有admin选项授权时请注意权限收回的全面性。

Good luck.

secooler
11.10.25

关于怎么进行Privilege Oracle系统权限非级联收回现象的测试就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/199194.html

(0)
上一篇 2021年11月20日
下一篇 2021年11月20日

相关推荐

发表回复

登录后才能评论