用户、权限与角色.ppt_第1页
用户、权限与角色.ppt_第2页
用户、权限与角色.ppt_第3页
用户、权限与角色.ppt_第4页
用户、权限与角色.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章 用户、权限与角色,知识要点,8.1 管理用户 8.2 权限 8.3 角色,8.1 管理用户,当安装和建立Oracle数据库时,系统会自动建立一些用户 (1)SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改、关闭数据库,拥有数据字典; (2)SYSTEM:是一个辅助的数据库管理员,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户等。 (3)SCOTT:是一个用于测试网络连接的用户,其口令是tiger; (4)PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。如果要为数据库中每个用户都授予某个权限,只需把权限授予PUBLIC就可以了,8

2、.1.1 创建和修改用户,1、建立新用户,用户名 口令 临时表空间 默认表空间 密码过期 账户加锁,CREATE USER 用户名 IDENTIFIED BY 口令 DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE 表空间名 PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK,当建完用户后,必须给用户授权,用户才能连接到数据库,并对数据库中的对象进行操作。只有拥有CREATE SESSION权限的用户才能连接到数据库。 SQLGRANT CREATE SESSION TO USER1,例8-1】 建立一个USER1用户,密码为US

3、ER1。该用户口令没有到期,账号也没有被锁住,默认表空间为USERS,在该表空间的配额为10MB。 SQLCREATE USER USER1 IDENTIFIED BY USER1 DEFAULT TABLESPACE USERS QUOTA 10M ON USERS ACCOUNT UNLOCK,2、修改用户 使用ALTER USER命令可以修改用户的默认表空间、临时表空间、修改用户的口令和口令期限、可以锁住或解锁用户帐号等,ALTER USER 用户名 IDENTIFIED BY 口令 DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE 表空间名 PA

4、SSWORD EXPIRE ACCOUNT LOCK | UNLOCK,Oracle创建后自动创建那几个用户? 如何为scott用户解锁? 一旦scott密码忘记了,如何修改密码,想一想吧,例8-2】将USER1用户的口令修改为TIGER并且将其口令设置为到期。 SQLALTER USER USER1 IDENTIFIED BY TIGER PASSWORD EXPIRE,例8-3】修改USER1用户的默认表空间和临时表空间。 SQLALTER USER USER1 DEFAULT TABLESPACE TEMP TEMPORARY TABLESPACE USER_DATA,8.1.2 删除用

5、户,使用DROP USER命令可以从数据库中删除一个用户。假如用户拥有对象,必须指定CASCADE关键字才能删除用户,否则返回一个错误。假如指定了CASCADE关键字,Oracle先删除该用户所拥有的所有对象,然后删除该用户,例8-4】删除USER1用户。 SQLDROP USER USER1; 注意: 一个当前连接到Oracle服务器的用户是不能被删除的,删除用户的语法如下: DROP USER 用户名 CASCADE,8.1.3 查询用户信息,可通过查询数据字典视图或动态性能视图来获取用户信息。 (1)ALL_USERS:包含数据库所有用户的用户名、用户ID和用户创建时间。 (2)DBA_

6、USERS:包含数据库所有用户的详细信息。 (3)USER_USERS:包含当前用户的详细信息。 (4)V$SESSION:包含用户会话信息。 (5)V$OPEN_CURSOR:包含用户执行的SQL语句信息。 普通用户只能查询USER_USERS数据字典,只有拥有DBA权限的用户才能查询DBA_USERS数据字典,例8-5】查询当前用户的详细信息,SQL CONN EDU 输入口令: * 已连接。 SQLSELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE, ACCOUNT_STATUS, EXPIRY_DATE FROM USER

7、_USERS,自己动动手吧,创建一个属于自己的用户。用户名为你的姓名缩写,密码随便设置(必须要记住),设置默认表空间以及临时表空间。为用户进行锁设置并进行密码过期。 创建完毕后登录看看,是否可以登录哦,想一想吧,8.2 权限,数据库中的权限可以控制对数据的访问,以及限制用户可以执行的动作。权限决定了一个用户所能访问的数据。 Oracle有两种类型的权限:系统权限、对象权限。 (1)系统权限:允许用户在数据库上执行特定操作所需要的权限称为系统权限。 (2)对象权限:允许用户访问一个特定对象并对特定对象执行特定操作所需要的权限称为对象权限,系统权限的分类可划分成下列三类: (1)允许在系统范围内操

8、作的权限。如:CREATE SESSION、CREATE TABLESPACE等与用户无关的权限。 (2)允许在用户自己的帐号内管理对象的权限。如:CREATE TABLE等建立、修改、删除指定对象的权限。 (3)允许在任何用户帐号内管理对象的权限。如:CREATE ANY TABLE等带ANY的权限,允许用户在任何用户帐号下建表,8.2.1 系统权限概念及分类,1、系统权限的授予 使用GRANT命令可以将系统权限授予给一个用户、角色或PUBLIC。WITH ADMIN OPTION从句给了受权者将此权限再授予给另一个用户、角色或PUBLIC的权力,8.2.2 授予和回收系统权限,GRANT

9、系统权限 | 角色 ,系统权限 | 角色 TO 用户 | 角色 | PUBLIC ,用户 | 角色 | PUBLIC WITH ADMIN OPTION,例8-8】为PUBLIC用户授予CREATE SESSION系统权限。 SQL CONN SYSTEM 输入口令: * 已连接。 SQL GRANT CREATE SESSION TO PUBLIC; 例题分析:课堂小练习1中已经创建了USER2用户,但是在登录的时候被拒绝。系统提示:user USER2 lacks CREATE SESSION privilege。上例中我们为PUBLIC授权了系统权限CREATE SESSION,此时US

10、ER2账户便可顺利登录。 【例8-9】为用户USER1授予CREATE TABLE,CREATE VIEW系统权限。 SQL GRANT CREATE TABLE,CREATE VIEW TO USER1,例8-10】为用户USER2授予CREATE TABLE,CREATE VIEW系统权限。USER2获得权限后,为用户USER3授予CREATE TABLE,CREATE VIEW系统权限。 SQL CONN SYSTEM 输入口令: * 已连接。 SQL GRANT CREATE TABLE,CREATE VIEW TO USER2 WITH ADMIN OPTION; SQL CONN

11、USER2 输入口令: * 已连接。 SQL GRANT CREATE TABLE,CREATE VIEW TO USER3,2、系统权限的回收 回收系统权限的语法如下: REVOKE 系统权限 | 角色 ,系统权限 | 角色 FROM 用户名 | 角色 | PUBLIC ,用户名 | 角色 | PUBLIC 当一个系统权限回收时没有级联影响,不管在权限授予时是否带WITH ADMIN OPTION从句,8.2.3 对象权限概念及分类,对象权限的分类,1、对象权限的授予 授予对象权限的语法如下: GRANT 对象权限 (列名1 ,列名2) ,对象权限 (列名1 ,列名2) | ALL PRIV

12、ILEGES ON 对象名 TO 用户名 | 角色名 | PUBLIC ,用户名 | 角色名 | PUBLIC WITH GRANT OPTION,8.2.4 授予和回收对象权限,例8-12】EDU用户将EMPLOYEES表上LAST_NAME,SALARY列上的更新权限授予给USER1用户。 SQL CONN EDU 输入口令: * 已连接。 SQL GRANT UPDATE(LAST_NAME,SALARY) ON EMPLOYEES TO USER1,例8-13】EDU用户将EMPLOYEES表的SELECT,UPDATE,INSERT权限授予给USER2用户,并且允许USER2用户再将

13、这些权限授予给USER3用户。 SQL CONN EDU 输入口令: * 已连接。 SQL GRANT SELECT,UPDATE,INSERT ON EMPLOYEES TO USER2 WITH GRANT OPTION; SQL CONN USER2 输入口令: * 已连接。 SQL GRANT SELECT,UPDATE,INSERT ON EDU.EMPLOYEES TO USER3,2、对象权限的回收 回收对象权限的语法如下: REVOKE 对象权限 ,对象权限 | ALL PRIVILEGES ON 对象名 FROM 用户名 | 角色 | PUBLIC ,用户名 | 角色 | P

14、UBLIC,当使用WITH GRANT OPTION从句授予对象权限时,一个对象权限回收时存在级联影响,例8-14】 EDU用户从USER1用户上回收EMPLOYEES表上LAST_NAME,SALARY列上的更新权限。 SQL REVOKE UPDATE(LAST_NAME,SALARY) ON EMPLOYEES FROM USER1,与系统权限回收类似,在进行对象权限回收时应注意以下几点: (1)多个管理员者授予用户同一个对象权限后,其中一个管理员回收其授予该用户的对象权限时,不影响该用户从其他管理员处获得的对象权限。 (2)为了回收用户对象权限的传递性(授权时使用了WITH GRANT

15、 OPTION子句),必须先回收其对象权限,然后再授予其相应的对象权限。 (3)如果一个用户获得的对象权限具有传递性(授权时使用了WITH GRANT OPTION子句),并且给其他用户授权,那么该用户的对象权限被回收后,其他用户的对象权限也被回收,对象权限有关的数据字典视图,8.2.5 查询各种权限,例8-15】查询当前用户所具有的系统权限。 SQL CONN SYSTEM 输入口令: * 已连接。 SQL SELECT * FROM USER_SYS_PRIVS; 【例8-16】查询所有用户在列上所授予的权限。 SQL CONN SYSTEM 输入口令: * 已连接。 SQLSELECT

16、* FROM DBA_COL_PRIVS,角色是一组相关权限的集合,角色可以被授予给用户或角色,使用角色可以减少授权工作,动态地管理权限,8.3 角色,8.3.1 角色的作用及好处,角色拥有下列特性: 角色的授予和回收与系统权限的授予和回收有相同的命令。 角色可以授予给任何用户或除了自己以外的角色。 角色必须授权后才是一组权限的集合。角色可以包含系统权限和对象权限。 角色不属于任何用户,角色的描述存储在数据字典中,8.3.2 预定义角色,表8-4 Oracle 10g常用预定义角色,例8-17】查询当前数据库的所有预定义角色。 SQL CONN SYSTEM 输入口令: * 已连接。 SQLS

17、ELECT * FROM DBA_ROLES; 【例8-18】查询 DBA角色所具有的系统权限。 SQL CONN SYSTEM 输入口令: * 已连接。 SQLSELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE=DBA,8.3.3 创建角色与授权角色权限,1创建角色 使用CREATE ROLE命令可以建立角色,角色是属于整个数据库,而不属于任何用户的。当建立一个角色时,该角色没有相关的权限,系统管理员必须将合适的权限授予给角色。此时,角色才是一组权限的集合。 语法: CREATE ROLE 角色名 NOT IDENTIFIED | IDENTIFIED BY

18、口令,例8-19】建立一个带口令CLERK的角色CLERK。 SQL CREATE ROLE CLERK IDENTIFIED BY CLERK,2修改角色 语法: ALTER ROLE role_name NOT IDENTIFIED IDENTIFIED BY password ; 使用ALTER ROLE命令可以修改角色的口令,但不能修改角色名,例8-20】修改角色CLERK使其没有口令。 SQL CONN SYSTEM 输入口令: * 已连接。 SQL ALTER ROLE CLERK NOT IDENTIFIED,3授权角色权限 建立完角色后需要给角色授权,授权后的角色才是一组权限的

19、集合。因此,创建角色后,需要给角色授权,给角色授权实际是非角色授予适当的系统权限、对象权限或已有角色。在数据库运行过程中,可以为角色增加权限,也可以回收其权限,例8-21】将EDU用户DEPARTMENTS表的SELECT、UPDATE和INSERT权限的集合授予给角色CLERK。 SQL CONN EDU 输入口令: * 已连接。 SQL GRANT SELECT,UPDATE,DELETE ON DEPARTMENTS TO CLERK,8.3.4 授予与回收角色,1给用户或角色授予角色 可以使用GRANT语句将角色授予用户或其他角色,语法为 GRANT role_list TO user_list|role_list,例8-22】将CLERK角色授予给USER1用户。 SQL CONN SYSTEM 输入口令: * 已连接。 SQL GRANT CLERK TO USER1; 例题分析:将CLERK角色授予给USER1后,USER1就具有了相应的权限,2从用户或角色回收角色 可以使用REVOKE语句从用户或其他角色回收角色。 语法: REVOKE role_list FROM user_list|role_list,例8-23】将CLERK角色从USER1回收,U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论