普通用户授予select any table 权限

本文介绍了在Oracle数据库中,普通用户被授予SELECT ANY TABLE权限后仍无法访问SYS表的原因,涉及到O7_DICTIONARY_ACCESSIBILITY参数的影响。详细解释了该参数的作用,并展示了如何修改参数以允许访问,以及安全考虑和替代方案。
摘要由CSDN通过智能技术生成

基于应用的需要,让普通用户有访问sys表的权限,于是就想到了select any table 的权限,可是当授权以后发现还是不能访问sys的表,经过查一系列资料,发现select any table不是真正的any table。下面做这个实验:
SQL> select * from v$version where rownum<2;
**BANNER
——————————————————————————–**
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
SQL> show user;
USER is “SYS”
SQL> create table baby(name varchar2(10),sex char(5));
Table created.
SQL> insert into baby values(‘keren’,’nv’);
1 row created.
SQL> commit;
Commit complete.
SQL> grant select any table to mdu;
Grant succeeded.
SQL> conn mdu/oracle
Connected.
SQL> select * from user_sys_privs;
USERNAME PRIVILEGE ADM


MDU UNLIMITED TABLESPACE NO
MDU SELECT ANY TABLE NO
SQL> select * from sys.baby;
select * from sys.baby
*
ERROR at line 1:
O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值