oracle用户权限的管理

来源:互联网 发布:佛山广电网络营业厅 编辑:程序博客网 时间:2024/05/17 08:30

概述:创建的新用户是没有任何权限,甚至连登陆数据库的权限都没有。因此对于新创建的用户,需要为其制定

权限。用于给用户赋予权限的命令为grant,会搜权限的命令是revoke


1.        授予权限

a)        只有system和sys用户可以给新建用户设置权限

b)        权限分类:系统权限和对象权限

c)        系统权限:用户对数据库的相关权限

d)        对象权限:用户对其他用户的数据对象操作的权限

e)        角色:预定义角色和自定义角色

f)         Dba、resource、Connect就是一种预定义角色

g)        oracle对用户权限的控制是通过对角色的分配来实现的

eg: 为用户赋予connect的角色权限。

Eg:

SQL>grant connect toxiaoming;      //必须用dba用户才可以授权

SQL> conn xiaoming/m123

h)       如果要让新建用户能够创建新表,需要给予resource权限

i)        新用户访问其他用户的数据库,需要对象权限。

j)        给予权限的用户必须是dba用户或被访问数据所在用户才可以赋予。

注:就是比如新用户要访问scott内的user表,那么给新用户赋予访问user权限的用户只能是sys或scott

k)        对象权限:select、insert、update、delete、all、create index…….

Eg:

SQL>grant select on emp to xiaoming;

授权成功。

2.        回收权限

a)  对于回收权限,应该由赋予权限的用户进行回收操作,当然也可以是dba用户

Eg:

USER 为 "SCOTT"

SQL>revoke select on emp from xiaoming;

撤销成功。

SQL>conn system/system

已连接。

SQL>revoke connect from xiaoming;

撤销成功。

3.      对对象权限的传递

Eg:

USER 为 "SCOTT"

SQL>grant select on emp to xiaomingwith grant option;

授权成功。

4.      对系统权限的传递

Eg:

USER 为 "SYSTEM"

SQL>grant connect to xiaoming with admin option;

授权成功。

问题思考:

问题:如果收回xiaoming用户的权限那么xiaoming所授权的用户是否还存在权限?

答:xiaoming所授权的用户权限也相应回收