关于Oracle数据库的系统权限、对象权限、角色的传递和收回问题(亲测)

本文是作者自己测试的系统权限、对象权限、角色的传递和收回问题。

创建用户 lili
create user lili identified by 123 ;

–创建用户 xiaoming
create user xiaoming identified by 123;

– 给LILI用户连接数据库的权限
grant create session to lili;

– 给xiaoming用户连接数据库的权限
grant create session to xiaoming;

/*
对象权限的传递和收回问题:
system用户给A用户对象权限,并允许A传递给别人
如果A用户传递给了B用户之后,A用户的这个对象权限被system收回了,那么权限会级联收回,连B的对应对象权限都会被收回。
*/
–测试
–给lili对象权限 select on scott.emp
grant select on scott.emp to lili with grant option;

– 登录lili后 可以看到 scott.emp
select * from scott.emp;

–让lili给xiaoming 对象权限 select on scott.emp
–登录lili然后赋权
grant select on scott.emp to xiaoming;

–登录xiaoming后,可以看到 scott.emp
select * from scott.emp;

–这时用system收回给lili的select on scott.emp对象权限
revoke select on scott.emp from lili;

– 登录lili后 看不到 scott.emp了
select * from scott.emp;

–登录xiaoming后,也看不到 scott.emp 了
select * from scott.emp;

/*
系统权限的传递和收回问题:
system用户给A用户系统权限,并允许A传递给别人
如果A用户传递给了B用户之后,A用户的这个系统权限被system收回了,那么B的对应系统权限仍然会拥有,不会被级联收回。
*/
–测试
–先将lili和xiaoming的所有权限收回
revoke create session from lili;
revoke connect from xiaoming;
–给lili系统权限 登录权限
grant create session to lili with admin option;

– 可以登录lili了
–让lili给xiaoming 系统权限 登录权限
grant create session to xiaoming;

–可以登录xiaoming了

–这时用system收回给lili的 系统权限 登录数据库
revoke create session from lili;

– 此时无法登录lili了

–但此时可以登录xiaoming

/*
角色的传递和收回问题
system用户给A用户角色,并允许A将角色传递给别人
如果A用户传递给了B用户之后,A用户的这个角色被system收回了,那么B的角色仍然会拥有,不会被级联收回。
*/
–测试
–先将xiaoming的所有权限收回
revoke create session from xiaoming;

–给lili connect角色 注意角色的传递只能用with admin option
grant connect to lili with admin option;

– 可以登录lili了
–让lili给xiaoming connect角色
grant connect to xiaoming;

–可以登录xiaoming了

–这时用system收回给lili的 系统权限 登录数据库
revoke connect from lili;

– 此时无法登录lili了

–但此时可以登录xiaoming

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值