《《用户管理和安全》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《用户管理和安全》PPT课件.ppt(45页珍藏版)》请在金锄头文库上搜索。
1、第十二章第十二章 管理管理安全性安全性用用户与与权限管理限管理引言引言 数据库安全数据库安全性问题一直是人们关注的焦点,数据性问题一直是人们关注的焦点,数据库数据的丢失以及数据库被非法用户的侵入对于任库数据的丢失以及数据库被非法用户的侵入对于任何一个应用系统来说都是至关重要的问题。确保信何一个应用系统来说都是至关重要的问题。确保信息安全的重要基础在于数据库的安全性能。息安全的重要基础在于数据库的安全性能。安全性安全性 Oracle Oracle数据库作为大型分布式数据库,其安全性数据库作为大型分布式数据库,其安全性一直是设计的重要目标。作为一直是设计的重要目标。作为OracleOracle安全
2、模型基础安全模型基础的安全原理是的安全原理是基于最小特权的原则基于最小特权的原则。此原则认为。此原则认为用用户只应该具有完成其任务所必需的特权,而不应该户只应该具有完成其任务所必需的特权,而不应该拥有更多的特权拥有更多的特权。 oracleoracle数据库的安全性可以分为如下两类:数据库的安全性可以分为如下两类:系统安全性系统安全性数据安全性数据安全性 1. 1. 系统安全性系统安全性 系统安全系统安全性是指在系统级控制数据库的存取和性是指在系统级控制数据库的存取和使用使用的机制的机制,包含:,包含: 有效的用户名有效的用户名/ /口令的组合。口令的组合。 一个用户是否授权可连接数据库。一个
3、用户是否授权可连接数据库。 用户对象可用的磁盘空间的数量。用户对象可用的磁盘空间的数量。 用户用户可执行哪些系统操作。可执行哪些系统操作。2. 2. 数据安全性数据安全性 数据安全数据安全性是指在实体级控制数据库存取和使用性是指在实体级控制数据库存取和使用的机制,包括:的机制,包括:用户可以存取的方案对象和在该方用户可以存取的方案对象和在该方案对象上可以进行哪些操作等。案对象上可以进行哪些操作等。 OracleOracle利用下列机制管理数据库安全性:利用下列机制管理数据库安全性:数据库用户和模式数据库用户和模式权限权限角色角色存储设置和空间存储设置和空间份额份额用用户与模式与模式 在在Ora
4、cle中,数据中,数据库用用户和模式是安全的最基本和模式是安全的最基本的的单元。元。术语“用用户”和和“模式模式”经常互常互换使用,然而使用,然而它它们是有区是有区别的:的:数据数据库模式定模式定义为数据数据库对象的集合。象的集合。模式的名称就是模式的名称就是拥有或控制有或控制这些数据些数据库对象集合象集合的用的用户名称。名称。所有的数据所有的数据库对象象,包括表、,包括表、视图、索引、触、索引、触发器、器、Java存存储过程、程、PL/SQL程序包、函数等,程序包、函数等,都都归Oracle数据数据库中的某一个用中的某一个用户所有所有。甚至。甚至Oracle的的数据字典、系数据字典、系统目目
5、录也是名称也是名称为sys的模式的一部的模式的一部分。分。在在Oracle数据数据库中,中,可以存在可以存在没有没有拥有任何数据有任何数据库对象的用象的用户(不是模式不是模式),但是,但是不会没有命名不会没有命名的模式的模式或数据或数据库对象集合。象集合。 12.1 用户用户管理管理Oracle Oracle 管理主要用户管理主要用户 用户用户就是一个方案,它是一组数据库对象的所有就是一个方案,它是一组数据库对象的所有者。者。用户是计算机的合法操作者,数据库用户就是用户是计算机的合法操作者,数据库用户就是数据库的合法操作者。数据库的合法操作者。OracleOracle有如下的几个主要用有如下的
6、几个主要用户:户:SYSSYS,SYSTEMSYSTEM,SCOTTSCOTT。这些用户以及口令。这些用户以及口令和说明如表和说明如表12-112-1所示。所示。表表12-1 Oracle12-1 Oracle的主要用户的主要用户用户名用户名口令口令登录身份及说明登录身份及说明SYSChange_on_install(在安装(在安装过过程中可以自己修改)程中可以自己修改)SYSDBA或或SYSOPER,但不能以,但不能以NORMAL登登录录,可作,可作为为默默认认的系的系统统管理管理员员SYSTEMManager(在安装(在安装过过程中可以程中可以自己修改)自己修改)SYSDBA或或NORMA
7、L,但不能以,但不能以SYSOPER登登录录,可作,可作为为默默认认的系的系统统管理管理员员SCOTTTiger(在安装(在安装过过程中可以自程中可以自己修改)己修改)NORMAL,普通用,普通用户户用户的创建用户的创建1 1创建用户创建用户使用使用SQL SQL 语句创建新数据库用户的语法格式如下:语句创建新数据库用户的语法格式如下: CREATE USER CREATE USER 用户名用户名 IDENTIFIED BY IDENTIFIED BY 口令口令DEFAULT TABLESPACE DEFAULT TABLESPACE 默认表空间默认表空间 TEMPORARY TABLESPA
8、CE TEMPORARY TABLESPACE 临时表空间临时表空间 QUOTAQUOTA数值数值K| M | UMLIMITED ON K| M | UMLIMITED ON 表空间名表空间名 PROFILE PROFILE 概要文件名概要文件名 PASSWORD EXPIREPASSWORD EXPIREACCOUNT LOCK | ACCOUNT UNLOCKACCOUNT LOCK | ACCOUNT UNLOCK例:例:CREATE CREATE USER USER lotus lotus IDENTIFIED BY IDENTIFIED BY l123l123 DEFAULT DE
9、FAULT TABLESPACE usersTABLESPACE users QUOTA QUOTA 100 M ON users100 M ON users ACCOUNT UNLOCKACCOUNT UNLOCK; ;用户用户帐号状态帐号状态 用户用户的帐号有两种状态,的帐号有两种状态,DBADBA可以通过设置状态可以通过设置状态的方法使账户可用或不可用。的方法使账户可用或不可用。 一帐号锁定一帐号锁定 锁定帐号可以使某个帐号不可用。锁定帐号可以使某个帐号不可用。 二账户解锁二账户解锁 该状态下,帐号可以正常登陆。该状态下,帐号可以正常登陆。2. 2. 修改修改用户帐号用户帐号修改用户账号
10、的语法格式如下所示:修改用户账号的语法格式如下所示:ALTER USER ALTER USER 用户名用户名 IDENTIFIED BYIDENTIFIED BY口令口令DEFAULT TABLESPACE DEFAULT TABLESPACE 默认表空间默认表空间 TEMPORARY TABLESPACE TEMPORARY TABLESPACE 临时表空间临时表空间 QUOTAQUOTA数值数值K| M | UNLIMITED ON K| M | UNLIMITED ON 表空间名表空间名 PROFILE PROFILE 概要文件名概要文件名 PASSWORD EXPIREPASSWORD
11、 EXPIRE ACCOUNT LOCK | ACCOUNT UNLOCKACCOUNT LOCK | ACCOUNT UNLOCK作为一个作为一个DBADBA,在管理数据库时,用户可能会有各,在管理数据库时,用户可能会有各种原因来改变用户帐户。种原因来改变用户帐户。这些有关帐户管理的工作如下:这些有关帐户管理的工作如下:重置密码;重置密码;锁定帐户和解除帐户锁定;锁定帐户和解除帐户锁定;修改用户的默认表空间或临时表空间;修改用户的默认表空间或临时表空间;修改表空间配额。修改表空间配额。例例:锁定锁定用户用户ALTER ALTER USER USER lotus ACCOUNT LOCKlot
12、us ACCOUNT LOCK; ;解除锁定解除锁定ALTER ALTER USER lotus ACCOUNT UNLOCK USER lotus ACCOUNT UNLOCK; ;修改用户密码修改用户密码ALTER ALTER USER lotus IDENTIFIED BY lotus USER lotus IDENTIFIED BY lotus;3.删除删除用户用户 使用使用DROP USERDROP USER命令可以从数据库中删除一个用户,命令可以从数据库中删除一个用户,参数为参数为CASCADECASCADE,表示在删除用户之前,先删除其,表示在删除用户之前,先删除其所拥有的所有实
13、体。所拥有的所有实体。例:例:Create table lotus.aa(aa number);Drop user lotus;Drop user lotus cascade;12.2 权限权限管理管理 权限权限(privilege)privilege)是是OracleOracle数据库定义好的执行某些数据库定义好的执行某些操操作作的能力。在的能力。在OracleOracle数据库中是利用权限进行管理数据库中是利用权限进行管理的的。这些权限可以分成两类:这些权限可以分成两类:系统权限:是指在系统级控制数据库的存取和使用的系统权限:是指在系统级控制数据库的存取和使用的机制。机制。OracleOr
14、acle有有100100多种不同的系统权限,表多种不同的系统权限,表12-212-2给出给出了常用的系统权限。每一种系统权限允许用户执行一了常用的系统权限。每一种系统权限允许用户执行一种特殊的数据库操作或一类数据库操作。种特殊的数据库操作或一类数据库操作。表表12-2 12-2 常用的系统权限常用的系统权限权限分类权限分类作用作用CREATE SESSIONCREATE SESSION创建会话权限,允许用户登录(连接创建会话权限,允许用户登录(连接到)数据库到)数据库CREATE TABLECREATE TABLE允许用户创建表允许用户创建表CREATE VIEWCREATE VIEW允许用户
15、创建视图允许用户创建视图CREATE PROCEDURECREATE PROCEDURE 允许用户创建过程函数和包允许用户创建过程函数和包CREATE TRIGGERCREATE TRIGGER允许用户创建触发器允许用户创建触发器CREATE SYNONYMCREATE SYNONYM允许用户创建同义词允许用户创建同义词CREATE USERCREATE USER生成用户生成用户CREATE ROLECREATE ROLE生成角色生成角色对对象象权权限限: :是是在在数数据据库库对对象象(如如:指指定定的的表表、视视图图、序序列列、过过程程、函函数数或或包包)上上执执行行特特殊殊动动作作的的权
16、权利利。对对于于不不同同类类型型的的对对象象,有有不不同同类类型型的的对对象象权权限限。如如表表12-312-3所示。所示。表表12-3 12-3 常用的对象权限常用的对象权限对象权限对象权限表表视图视图序列序列过程过程ALTERALTEROKOKOKOKDELETEDELETEOKOKOKOKEXECUTEEXECUTEOKOKINDEXINDEXOKOKINSERTINSERTOKOKOKOKREFERENCESREFERENCESOKOKSELECTSELECTOKOKOKOKOKOKUPDATEUPDATEOKOKOKOK授予权限授予权限1 1授予系统权限授予系统权限授权语句如下:授权
17、语句如下:GRANTGRANT system_privilege|role ,system_privilege|role system_privilege|role ,system_privilege|role TOTO user|role|PUBLICuser|role|PUBLIC ,user|role|PUBLIC ,user|role|PUBLIC WITH ADMIN OPTIONWITH ADMIN OPTION 其中:其中:(1 1)system_privilegesystem_privilege:要授予的系统权限。:要授予的系统权限。(2 2)rolerole:被授权的角色名字
18、。:被授权的角色名字。(3 3)PUBLICPUBLIC:把系统权限授予所有用户。:把系统权限授予所有用户。(4 4)WITH ADMIN OPTIONWITH ADMIN OPTION:可以把被授予:可以把被授予的权限再进一步授予其他用户或角色。的权限再进一步授予其他用户或角色。例例:GRANT create session TO test GRANT create session TO test WITH ADMIN OPTIONWITH ADMIN OPTIONWITH ADMIN OPTIONWITH ADMIN OPTION; ;GRANT create table TO test;
19、GRANT create table TO test; 将将create view create view 权限授予数据库中所有用户权限授予数据库中所有用户GRANT create view TO GRANT create view TO publicpublic; ; 2 2授对象授对象权限权限语句如下:语句如下:GRANTGRANT object_privilege (column_list) object_privilege (column_list) ,object_privilege (column_list) ,object_privilege (column_list) |ALL
20、 PRIVILEGES |ALL PRIVILEGES ON ONschema.object schema.object TO user|role|PUBLICTO user|role|PUBLIC,user|role|PUBLIC ,user|role|PUBLIC WITH GRANT OPTION WITH GRANT OPTION其中:其中:(1 1)object_privilegeobject_privilege:要授予的对象权限。:要授予的对象权限。(2 2)column_listcolumn_list:表或者视图的列名(只有授权:表或者视图的列名(只有授权 INSERTINSER
21、T,REFERENCESREFERENCES,UPDATEUPDATE的时候才使用)的时候才使用)。(3 3)ALLALL:授予对象的所有权限,并且有:授予对象的所有权限,并且有 WITH WITH GRANT OPTIONGRANT OPTION权限。权限。(4 4)ON objectON object:对象名字。:对象名字。(5 5)WITH GRANT OPTIONWITH GRANT OPTION:可以把对象权限授予:可以把对象权限授予其他的用户或者角色。其他的用户或者角色。例:例:GRANT GRANT SELECT,UPDATE ON SELECT,UPDATE ON emp em
22、p TO TO test test WITH GRANT OPTION;WITH GRANT OPTION;GRANT GRANT ALLALL ON DEPT TO TEST: ON DEPT TO TEST:3.取消取消权限权限使用使用REVOKEREVOKE语句可以回收己经授予用户(或角色)语句可以回收己经授予用户(或角色)的系统权限、对象权限与角色,执行回收权限操作的系统权限、对象权限与角色,执行回收权限操作的用户同时必须具有授予相同权限的能力。的用户同时必须具有授予相同权限的能力。例:取消用户例:取消用户例:取消用户例:取消用户testtesttesttest的的的的 CREATE
23、TABLE CREATE TABLE CREATE TABLE CREATE TABLE 权限。权限。权限。权限。 REVOKE CREATE TABLE FROM test;REVOKE CREATE TABLE FROM test;REVOKE CREATE TABLE FROM test;REVOKE CREATE TABLE FROM test; 说明:取消其他用户的权限时必须拥有系统管理员说明:取消其他用户的权限时必须拥有系统管理员说明:取消其他用户的权限时必须拥有系统管理员说明:取消其他用户的权限时必须拥有系统管理员DBA DBA DBA DBA 权限权限权限权限。例:回收已经授予
24、用户例:回收已经授予用户testtest的的empemp表上的表上的SELECTSELECT和和UPDATEUPDATE对象权限:对象权限:REVOKE SELECT,UPDATE ON EMP FROM test;REVOKE SELECT,UPDATE ON EMP FROM test;角色管理角色管理在许多情况下,用户的工作往往都是分类的,因此在许多情况下,用户的工作往往都是分类的,因此就可以将用户分为不同的种类,每一种用户的权限就可以将用户分为不同的种类,每一种用户的权限都是相同的,即扮演了相同的角色。因此都是相同的,即扮演了相同的角色。因此OracleOracle借借用了角色这种概念
25、来实现这种权限管理的方法,达用了角色这种概念来实现这种权限管理的方法,达到简化权限管理的目的。到简化权限管理的目的。角色就是一组相关角色就是一组相关权限的集合,权限的集合,是对权限进行集中是对权限进行集中管理(授予、回收)的一种方法。即将不同权限集管理(授予、回收)的一种方法。即将不同权限集中在一起就形成了角色。使用角色可以大大降低用中在一起就形成了角色。使用角色可以大大降低用户权限的维护负担。户权限的维护负担。数据库管理员只需创建特定的数据库角色,使其反数据库管理员只需创建特定的数据库角色,使其反映组织或应用的安全权限,就可以将这些角色赋予映组织或应用的安全权限,就可以将这些角色赋予用户用户
26、, ,实际是把角色所拥有的权限分配给用户。实际是把角色所拥有的权限分配给用户。不使用角色分配权限不使用角色分配权限权限权限用户用户Manager使用角色分配权限使用角色分配权限ORACELORACEL利用角色更容易地进行权限管理。有下列优利用角色更容易地进行权限管理。有下列优点:点:(1 1)减少权限管理,不要显式地将同一权限组授权给)减少权限管理,不要显式地将同一权限组授权给几个用户,只需将这权限组授给角色,然后将角色几个用户,只需将这权限组授给角色,然后将角色授权给每一用户。授权给每一用户。(2 2)动态权限管理,如果一组权限需要改变,只需修)动态权限管理,如果一组权限需要改变,只需修改角
27、色的权限,所有授给该角色的全部用户的安全改角色的权限,所有授给该角色的全部用户的安全域将自动地反映对角色所作的修改。域将自动地反映对角色所作的修改。(3 3)权限的选择可用性,授权给用户的角色可选择地)权限的选择可用性,授权给用户的角色可选择地使其可用或不可用。使其可用或不可用。(4 4)应用安全性,角色使用可由口令保护,应用可提)应用安全性,角色使用可由口令保护,应用可提供正确的口令使用角色,如不知其口令,不能使用供正确的口令使用角色,如不知其口令,不能使用角色。角色。预定义角色预定义角色在创建数据库时,在创建数据库时,OracleOracle数据库会自动创建数据库会自动创建一些常用的角色,
28、即预定义角色。这些角色一些常用的角色,即预定义角色。这些角色已经由已经由OracleOracle数据库授予了相应的系统权限。数据库授予了相应的系统权限。DBA DBA 可以直接将这些预定义的角色授予用可以直接将这些预定义的角色授予用户,完成简单的权限管理工作。户,完成简单的权限管理工作。下面是比较传统的三个预定义角色。下面是比较传统的三个预定义角色。CONNECTCONNECT授予最终用户的典型权利,最基本的授予最终用户的典型权利,最基本的 RESOURCERESOURCE 授予开发人员的权限授予开发人员的权限CREATE TRIGGER CREATE SEQUENCE CREATE TRIG
29、GER CREATE SEQUENCE CREATE TYPE CREATE PROCEDURE CREATE TYPE CREATE PROCEDURE CREATE CLUSTER CREATE OPERATOR CREATE CLUSTER CREATE OPERATOR CREATE INDEXTYPE CREATE TABLE CREATE INDEXTYPE CREATE TABLEDBADBA 拥有系统的所有系统级权限。拥有系统的所有系统级权限。对于数据库管理员应该授予对于数据库管理员应该授予DBADBA角色。对于数据库开角色。对于数据库开发用户,只需要授予发用户,只需要授予CO
30、NNECTCONNECT和和RESOURCERESOURCE两个两个角色。可以通过数据字典角色。可以通过数据字典DBA_SYS_PRIVSDBA_SYS_PRIVS查询所查询所有预定义角色的系统权限。有预定义角色的系统权限。创建自定义角色创建自定义角色OracleOracle允许用户按实际需要自定义各种角色,以便允许用户按实际需要自定义各种角色,以便将其授予不同类型的用户,增强权限管理的灵活性将其授予不同类型的用户,增强权限管理的灵活性和方便性。和方便性。创建角色的语句格式如下:创建角色的语句格式如下: CREATE ROLE CREATE ROLE 角色名角色名 IDENTIFIED BY
31、passwordIDENTIFIED BY password其中任性的其中任性的IDENTIFIED BY passwordIDENTIFIED BY password要求用户在启用要求用户在启用这个角色之前先确认自己的身份。该角色在默认情这个角色之前先确认自己的身份。该角色在默认情况下被关闭,为了打开此角色需要使用如下语句:况下被关闭,为了打开此角色需要使用如下语句:SET ROLE role_name IDENTIFIED BY password;SET ROLE role_name IDENTIFIED BY password;例:例:CREATE ROLE account_role;C
32、REATE ROLE account_role;注意:新创建的角色并不具有任何权限,这时的角色注意:新创建的角色并不具有任何权限,这时的角色是没有什么用处的。因此,创建角色之后,通常要是没有什么用处的。因此,创建角色之后,通常要立即给它授予系统权限或对象权限。立即给它授予系统权限或对象权限。将权限授予角色将权限授予角色Grant connect to account_role Grant connect to account_role ;Grant create table to account_role Grant create table to account_role ;Grant se
33、lect on scott.emp to account_role;将角色授予用户将角色授予用户Grant resource to test ;Grant resource to test ;Grant account_role to ora_test1 ;Grant account_role to ora_test1 ;回收角色中的某一权限回收角色中的某一权限Revoke create table from account_role ;Revoke create table from account_role ;回收用户的某一角色回收用户的某一角色Revoke account_role fr
34、om ora_test1 ;Revoke account_role from ora_test1 ;角色删除角色删除由于角色可以重复修改和设置,随着角色的增多,由于角色可以重复修改和设置,随着角色的增多,需要删除一些不必要的角色。删除角色可以通过需要删除一些不必要的角色。删除角色可以通过DROPDROP语句来实现,使这个角色的权限集合无效,语句来实现,使这个角色的权限集合无效,拥有此角色的用户都不能使用这些权限。拥有此角色的用户都不能使用这些权限。例:例:Drop role account_role ;Drop role account_role ;获取角色有关的信息获取角色有关的信息从如下的
35、数据字典中从如下的数据字典中获取有关角色的信息:取有关角色的信息:DBA_ROLESDBA_ROLES:数据库中所有的角色。:数据库中所有的角色。DBA_SYS_PRIVSDBA_SYS_PRIVS:拥有系统权限的用户和角色。:拥有系统权限的用户和角色。ROLE_SYS_PRIVSROLE_SYS_PRIVS:拥有系统权限的角色。:拥有系统权限的角色。ROLE_TAB_PRIVSROLE_TAB_PRIVS:拥有对象:拥有对象权限的角色权限的角色 USER_ROLE_PRIVSUSER_ROLE_PRIVS 用户拥有的角色用户拥有的角色 PL/SQL与角色与角色默默认情况下,情况下,PL/SQ
36、L函数、函数、过程、程序包程、程序包都要使用都要使用“定定义者者”的命名空的命名空间和和权限限执行。行。需要注意的是,需要注意的是,这些些已已编译的的“PL/SQL程序程序”对象要使用直接象要使用直接赋予予设计用用户的的权限限执行,行,而不使用用而不使用用户通通过数据数据库角色得到的角色得到的对象象权限来限来执行行。当然,。当然,这将使将使让作作为特定数据特定数据库用用户在在SQL*Plus中中测试特定特定DML语句的开句的开发人人员混淆,他混淆,他们将将发现PL/SQL过程中的程中的相同相同语句不能句不能够编译。大多数情况下,造成大多数情况下,造成这种种问题的原因是由于的原因是由于对象象权限
37、是通限是通过角色角色授予,而不是直接授予授予,而不是直接授予设计用用户的。的。PL/SQL与角色与角色通常情况下,通常情况下,应用开用开发的安全方法是不直接将表和的安全方法是不直接将表和视图上的上的权限限赋予数据予数据库用用户,只能,只能够通通过PL/SQL过程、函数或程序包程、函数或程序包访问附属的表和附属的表和视图,而,而执行行这些已些已编译对象的象的权限要通限要通过数据数据库角色提供。角色提供。这种方式的最大种方式的最大优点是:除了通点是:除了通过公开的方法之外,公开的方法之外,终端用端用户不能直接操作不能直接操作应用程序中的表和用程序中的表和视图。如。如果将安全直接果将安全直接绑定到用
38、定到用户应用中,而不是数据用中,而不是数据库中,中,就意味着安全就意味着安全实现只能只能够适用于用适用于用户应用。然而,用。然而,如果用如果用户只能只能够提供通提供通过PL/SQL过程、函数和程序程、函数和程序包修改用包修改用户应用的表和用的表和视图的能力,那么就要的能力,那么就要为访问Oracle数据数据库的所有的所有应用用维护数据数据库对象的安全。象的安全。小小结用用户管理管理权限的基本作用限的基本作用系系统权限(限(with admin option)对象象权限(限(with grant option)角色(角色(with admin option)PL/SQL与角色与角色上机练习上机练
39、习1 1、创建一个用户账号、创建一个用户账号test,test,密码为密码为testtest,默认的表空间为,默认的表空间为users,users,默默认的临时表空间为认的临时表空间为temp,temp,在在usersusers上的限额为上的限额为100M100M。2 2、将用户账号、将用户账号testtest锁定;然后再进行解锁。锁定;然后再进行解锁。3 3、修改用户账号、修改用户账号testtest的密码为的密码为aaaaaa。4 4、将系统权限、将系统权限create sessioncreate session、create tablecreate table授予授予test;test;
40、然后回收然后回收testtest的的create tablecreate table权限。权限。5 5、将、将scottscott方案下的方案下的empemp表上的表上的insert,update,deleteinsert,update,delete对象权限授予对象权限授予testtest;然后回收;然后回收testtest的的empemp表上的表上的deletedelete对象权限。对象权限。6 6、将、将connect,resourceconnect,resource角色授予角色授予testtest;然后回收;然后回收testtest的的resourceresource角色。角色。7 7、自定义角色、自定义角色role_test,role_test,使其具有角色使其具有角色connectconnect和和create viewcreate view的系的系统权限。统权限。然后将此角色授予然后将此角色授予test;test;最后回收最后回收testtest的的role_testrole_test角色。角色。8 8、删除自定义角色、删除自定义角色role_test.role_test.9 9、删除用户账号、删除用户账号test.test.