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

发布时间:2021-11-03 15:56:56 作者:柒染
来源:亿速云 阅读:128

这篇文章给大家介绍怎么进行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系统权限非级联收回现象的测试就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 怎么使用DTS进行自建Oracle间的数据迁移
  2. 如何进行ORACLE密码文件的维护

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle privilege

上一篇:如何实现在Linux下锁住键盘和鼠标而不锁屏

下一篇:基于JDBC模式怎么适配和管理动态数据源

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》