ITPub博客

首页 > 应用开发 > IT综合 > Product_user_profile(PUP) TABLE FOR security

Product_user_profile(PUP) TABLE FOR security

原创 IT综合 作者:myhuaer 时间:2006-06-01 17:21:09 0 删除 编辑
Product_user_profile(PUP) TABLE FOR security
描述:
SQL*Plus 会使用到 product_user_profile(PUP) TABLE,table 属于system 用户.
Table 提供产品级别的安全限制。
作用:
DBA们可以使用 PUP TABLE 对某用户的在SQL*Plus 环境中的SQL SQL*Plus 命令使其失效。
只是能在SQL*Plus 环境中不能使用,并不是Database 的权限失效。DBA们甚至能限制访问Grant,
revokeSet role命令来控制用户改变自己Database权限。
何时有效:
当用户登陆到SQL*Plus 环境,可以读取pup TABLE 的限制信息,并能维护这些限制。
这些限制只能在下一次登陆后生效。PUP TABLE 只能在当地的Database 有效。如果你通过Database link
连接远程的Database,PUP TABLE 不能使用。远程的Database 不能从database link 抽取用户名和密码 所以不能判断User Profile 和权限。
适用用户
system,sys 或用户具有sysdba,sysoper 权限连接到SQL*Plus,SQL*Plus 不会读PUP table
因此PUP TABLE 的限制信息对这些用户没有作用。
Role 管理:
使用Create,GRANT,SET SQL命令来创建Role和赋予用户Role 权限: 1: 使用Create 命令创建Role,可以有也可以没有密码。 2:适用Grant 赋予User 权限。 3:访问Role使用Set 命令。
PUB table desc
( 重点栏位一般是必须输入的,其它栏位推荐为null)
SQL> desc product_user_profile 名称 是否为空? 类型 --------------------------- ---- ------------------------ PRODUCT NOT NULL VARCHAR2 (30) USERID VARCHAR2(30) ATTRIBUTE VARCHAR2(240) SCOPE VARCHAR2(240) NUMERIC_VALUE NUMBER(15,2) CHAR_VALUE VARCHAR2(240) DATE_VALUE DATE LONG_VALUE LONG
Userid (所有的Userid 必须为大写,也可以使用通配符)
SCOTT CLASS1 CLASS% (all users whose names start with CLASS) % (all users)
可以限制的Commands 如下:
SQL*Plus Commands That Can Be Disabled ACCEPTDEFINEPASSWORDSHUTDOWN APPENDDELPAUSESPOOL ARCHIVE LOGDESCRIBEPRINTSTART(@, @@) ATTRIBUTEDISCONNECTPROMPTSTARTUP BREAKEDITRECOVERSTORE BTITLEEXECUTEREMARKTIMING CHANGEEXIT/QUITREPFOOTERTTITLE CLEARGETREPHEADERUNDEFINE COLUMNHELP (?)RUNVARIABLE COMPUTEHOSTSAVEWHENEVER OSERROR CONNECTINPUTSETWHENEVER SQLERROR COPYLIST (;)SHOW SQL Commands That Can Be Disabled ALTERDELETEMERGESET CONSTRAINTS ANALYZEDISASSOCIATENOAUDITSET ROLE ASSOCIATEDROPPURGESET TRANSACTION AUDITEXPLAINRENAMETRUNCATE CALLFLASHBACKREVOKEUPDATE COMMENTGRANTROLLBACKVALIDATE COMMITINSERTSAVEPOINTna CREATELOCKSELECTna
例子演示:
1: 限制用户BQY 不能执行 SQL *Plus command 'Host',SQL Command 'Delete'.

SQL> desc product_user_profile;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
PRODUCT NOT NULL VARCHAR2(30)
USERID VARCHAR2(30)
ATTRIBUTE VARCHAR2(240)
SCOPE VARCHAR2(240)
NUMERIC_VALUE NUMBER(15,2)
CHAR_VALUE VARCHAR2(240)
DATE_VALUE DATE
LONG_VALUE LONG

SQL> INSERT INTO product_user_profile
2 (product,userid,attribute,char_value)
3 VALUES
4 ('SQL*Plus','BQY','DELETE','DISABLED')
5 /
已创建 1 行。
SQL> INSERT INTO product_user_profile
2 (product,userid,attribute,char_value)
3 VALUES
4 ('SQL*Plus','BQY','HOST','DISABLED')
5 /
已创建 1 行。
SQL> commit;
提交完成.  
User BQY Login in SQL*Plus
D:oracleora9ibin>sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 6月 1 15:51:37 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> host
SP2-0544: 无效的命令: host
SQL> insert into demo(name,age) values('lis',99);
已创建 1 行。
SQL> commit;
提交完成。
SQL> delete from demo;
SP2-0544: 无效的命令: delete
2:Role 管理
User Bqy login in
D:oracleora9ibin>sqlplus bqy/oracle
SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 6月 1 16:19:24 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> set role dba
SP2-0544: 无效的命令: set role
SQL>
数据库的安全是最重要的,怎么做都不过分。
LisLi
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/34596/viewspace-839167/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Mintrans and Maxtrans
请登录后发表评论 登录
全部评论

注册时间:2016-09-11

  • 博文量
    211
  • 访问量
    648551