控制用户权限创建用户数据库安全性:系统安全性数据安全性系统权限:对于数据库的权限对象权限:操作数据库对象的权限系统权限超过一百多种有效 的权限数据库管理员具有高级权限以完成管理任务,例如:创建新用户删除用户删除表备份表创建用户DBA使用CREATEUSER语 句创建用户CREATEUSERuser用户名IDENTIFIEDBYpassword密码例:CREATEUSER scottIDENTIFIEDBYtiger;用户的系统权限用户创建之后,DBA会赋予用户一些系统权限GRANT privilege[,privilege...]TOuser[,user|role,PUBLIC...];以应用程序 开发者为例,一般具有下列系统权限:CREATESESSION(创建会话)CREATETABLE(创建表)CREATESEQ UENCE(创建序列)CREATEVIEW(创建视图)CREATEPROCEDURE(创建过程)赋予系统权限DBA可以赋予用 户特定的权限grantcreatesession,createtable,createsequence,crea teviewtoscott;创建用户表空间用户拥有createtable权限之外,还需要分配相应的表空间才可开辟存储空间 用于创建的表ALTERUSERatguigu01QUOTAUNLIMITEDONusers二.创建角色创建角色并赋予权 限创建角色CREATEROLEmanager;为角色赋予权限GRANTcreatetable,createview TOmanager;将角色赋予用户GRANTmanagerTODEHAAN,KOCHHAR;修改密码DBA可以创建 用户和修改密码用户本人可以使用ALTERUSER语句修改密码三.使用GRANT和REVOKE语句赋予和回收权限对象权限 不同的对象具有不同的对象权限对象的拥有者拥有所有权限对象的拥有者可以向外分配权限分配对象权限例:分配EMPLOYEES表的查询权 限给sue,rich.GRANTselectONemployeesTOsue,rich;分配EMPLOYEES表中各个列 的更新权限给sue,rich.GRANTupdateONemployeesTOsue,rich;WITHGRAN TOPTION使用户同样具有分配权限的权利例:GRANTselect,insertONdepartmentsT OscottWITHGRANTOPTION;PUBLIC(向数据库中所有用户分配权限)例:GRANTsele ctONalice.departmentsTOPUBLIC;查询权限分配情况数据字典视图描述ROLE_SYS_PRIVS角色拥 有的系统权限ROLE_TAB_PRIVS角色拥有的对象权限USER_ROLE_PRIVS用户拥有的角色USER_TAB_PRIVS _MADE用户分配的关于表对象权限USER_TAB_PRIVS_RECD用户拥有的关于表对象权限USER_COL_PRIVS_MA DE用户分配的关于列的对象权限USER_COL_PRIVS_RECD用户拥有的关于列的对象权限USER_SYS_PRIVS用户拥有 的系统权限收回对象权限使用REVOKE语句收回权限使用WITHGRANTOPTION子句所分配的权限同样被收回例:收回 对象权限REVOKEselect,insertONdepartmentsFROMscott;WITHG RANTOPTION语句功能CREATEUSER创建用户(通常由DBA完成)GRANT分配权限CREATEROLE创建角色(通常由DBA完成)ALTERUSER修改用户密码REVOKE收回权限 |
|