用户权限
来源:互联网 发布:iphone6s手机壳知乎 编辑:程序博客网 时间:2024/05/16 15:02
限分为系统权限(system privilege)和对象权限(object privilege)
所谓系统权限是指用户对数据库的相关权限。允许用户在数据库中执行特定操比如执行DDL。常用的系统特权:
createsession:连接到数据库上
createsequence:创建序列。序列是一系列数字,通常用来填充主键值。
createsynonym:创建同名对象。同名对象用来引用其它模式中的表。
createtable
create anytable
drop table
drop any table
createprocedure
execute anyprocedure
create user
drop user
create view
授权
向用户授予系统特权,如果后面使用with adminoption选项,则表示所授予的用户可以把这种特权再授予其它用户。
GRANTEXECUTE ANY PROCEDURE TO steve WITH ADMIN OPTION
CONNsteve/button
GRANTEXECUTE ANY PROCEDURE TO gail;
将一种特权授予PUBLIC,可以将特权授予所有的用户。
CONNsystem/manager
GRANTEXECUTE ANY PROCEDURE TO PUBLIC;
检查授予用户的系统特权
通过查询user_sys_privs可以检索某个用户具有哪些系统特权.
SELECT *FROM user_sys_privs
撤权
REVOKEEXECUTE ANY PROCEDURE FROM steve
在撤销steve用户的execute any procedure特权时—steve已经将这种特权又授权了gail用户,gail用户仍然会保留这些特权。
所谓对象权限是指用户对其它用户的数据对象操作的权限。比如对表执行DML。常用的对象特权:
select、update、insert、delete、execute、all (前四种的总称)
授权
GRANTSELECT ,INSERT,UPDATE ON store.products TO steve
下面这个例子将对last_name和salary列的UPDATE特权授予steve用户.
GRANTUPDATE(last_name,salary) ON store.products TO steve
此处可以使用WTIH GRANT OPTION选项
检查已授予的对象特权通过查询user_tab_privs_made可以检查某个用户对哪些表向其它用户开放了哪些对象特权。
SELECT *
FROMuser_tab_privs_made
WHEREtable_name=’PRODUCTS’
通过查询user_col_privs_made可以检索某个用户对哪些列开放了哪些特权。
SELECT *
FROMuser_col_privs_made
检索已接受的对象特权
通过查询user_tab_privs_recd可以检查某个用户被授予了哪些表上的哪些对象特权。
通过查询user_col_privs_recd可以检查某个被授予了哪些列上的对象特权。
注意:
当所授予的权是系统特权时,并且使用WITH ADMINOPTION选项使该系统特权向下传递,当撤销授予者的系统特权时,其所向下授予的系统特权不在撤销。
当授予的权是对象特权时,并且使用WITH GRANTOPTION选项使该对象特权向下传递,当撤销授予者的系统特权时,其所向下授予的对象特权一并收回。
- 用户权限
- 用户权限
- 用户权限
- 用户权限
- 用户权限
- 用户权限
- 用户权限
- 用户权限
- 用户权限
- 用户权限
- 用户权限验证
- linux用户权限
- 用户权限设计
- 刷新用户权限
- 用户权限管理
- 用户权限设计
- oracle 用户权限
- grant 用户权限
- 十年 之 工作心得
- 原码转补码
- Android的简单介绍
- sigmoid函数详解
- C#之字符串格式化操作...
- 用户权限
- HDOJ 2544 最短路
- 第五周任务二(分数类)
- wine 1.2 的使用介绍和在ubuntu10.04 下安装QQ
- 视图控制器之间的切换
- C#之DataGridView判断用户选择的是哪一行...
- 存储过程
- Tiny6410 NFS启动
- 二维码的一些资料