用户权限

原创 2012年03月25日 14:39:52

限分为系统权限(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。常用的对象特权:

selectupdateinsertdeleteexecuteall (前四种的总称)

授权

GRANTSELECT ,INSERT,UPDATE ON store.products TO steve

下面这个例子将对last_namesalary列的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选项使该对象特权向下传递,当撤销授予者的系统特权时,其所向下授予的对象特权一并收回。

 

相关文章推荐

Sql Server添加用户和设置权限

Sql Server添加用户和设置权限 一、添加用户 1、数据库级别的【安全性】-【登录名】-【新建登录名】 2、在【常规】选项卡中,输入登陆名、密码,并设置默认的数据库 3、 在【用户映射】...

Linux----用户权限

  • 2014年10月27日 14:26
  • 95KB
  • 下载

spring security解决用户权限的方案

  • 2014年11月12日 16:23
  • 1.79MB
  • 下载

DB2创建用户及赋予权限

DB2-创建用户和组,数据库 1、增加一个操作系统用户  groupadd test---添加用户组test  useradd -m -g test -d /home/test test--...

设置mysql用户权限

  • 2016年12月17日 09:23
  • 345B
  • 下载

Linux-添加用户及文件权限

Linux-添加用户及文件权限 添加用户xth 在xth的环境下创建文件forxth文件 更改forxth文件的所有者 设置用户组不可读的权限 设置用户组可读可写可执行的权限 1.添加用户xthsud...
  • ACM_TH
  • ACM_TH
  • 2015年12月04日 13:42
  • 1529

Oracle 用户权限

  • 2014年09月12日 17:10
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用户权限
举报原因:
原因补充:

(最多只允许输入30个字)