暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SYSOPER身份用户的权限限制

原创 eygle 2005-03-25
435

缺省的SYSOPER可以起停数据库,但是不能查询数据字典。



$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.1.0.2.0 - Production on Fri Mar 25 17:20:49 2005
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SYS AS SYSDBA on 25-MAR-05 >CREATE USER operator IDENTIFIED BY operator;
User created.
授予dba,sysoper角色。
SYS AS SYSDBA on 25-MAR-05 >grant dba,sysoper to operator;
Grant succeeded.


以普通用户方式登录可以查询,因为具有DBA角色:



SYS AS SYSDBA on 25-MAR-05 >connect operator/operator
Connected.
OPERATOR on 25-MAR-05 >show user
USER is "OPERATOR"
OPERATOR on 25-MAR-05 >select count(*) from dba_users;
COUNT(*)
----------
12


以SYSOPER身份登录,实际上用户身份切换为PUBLIC,不能查询数据字典:



OPERATOR on 25-MAR-05 >connect operator/operator as sysoper;
Connected.
PUBLIC AS SYSOPER on 25-MAR-05 >select count(*) from dba_users;
select count(*) from dba_users
*
ERROR at line 1:
ORA-00942: table or view does not exist
PUBLIC AS SYSOPER on 25-MAR-05 >show user
USER is "PUBLIC"


但是此时有权启动数据库:



PUBLIC AS SYSOPER on 25-MAR-05 >shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
PUBLIC AS SYSOPER on 25-MAR-05 >startup
ORACLE instance started.
Database mounted.
Database opened.


可以单独授予SELECT ANY DICTIONARY,SELECT ANY TABLE权限给PUBLIC角色,这样sysoper身份登录用户同时就获得查询字典及表权限。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论