用户权限和角色管理课件

上传人:我*** 文档编号:144765311 上传时间:2020-09-14 格式:PPT 页数:74 大小:955.50KB
返回 下载 相关 举报
用户权限和角色管理课件_第1页
第1页 / 共74页
用户权限和角色管理课件_第2页
第2页 / 共74页
用户权限和角色管理课件_第3页
第3页 / 共74页
用户权限和角色管理课件_第4页
第4页 / 共74页
用户权限和角色管理课件_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《用户权限和角色管理课件》由会员分享,可在线阅读,更多相关《用户权限和角色管理课件(74页珍藏版)》请在金锄头文库上搜索。

1、用户管理的一些选项 1、唯一的用户名、字母开头、不包括特殊字符、最长30个 2、要有一种认证方式,通常采用密码认证,也就是登录时提供用户名和密码 3、默认表空间 Oracle10g中定义了一个数据库级别的默认表空间,如果用户没有定义默认表空间,那么就使用这个作为自己的默认表空间,10g以前,如果出现这种情况,那么就是用system表空间,这显然不合理,因此建立一个数据库级别的表空间还是很有意义的 4、默认临时表空间 临时表空间最经典的使用就是排序的时候,PGA容纳不了排序所产生的临时数据,9i开始可以指定数据库级别的默认临时表空间 5、配置文件 用来控制用户密码策略、以及资源使用的配置信息 6

2、、用户组 7、锁定状态,数据库建立以后,会产生两个重要的用户:sys和system sys是超级管理员,必须作为sysdba登陆,这是安全措施 因为sys的权限太大,使用sysdba登陆以后,审计文件会记录登录的时间信息,system没有sys的权限大 最通常的用法是:日常管理中,不要使用sys和system登录数据库,而是建立一个用户、并赋予DBA角色,使用该用户进行日常的管理工作,创建用户,口令是最常见的认证方式。,CREATE USER SYSADMIN PROFILE DEFAULT IDENTIFIED BY * PASSWORD EXPIRE DEFAULT TABLESPACE

3、USERS TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCKGRANT CONNECT TO SYSADMIN,看一下外部认证(操作系统认证的例子),一个操作系统用户的账号是ora,那么在数据库里面需要建立一个用户叫做ops$ora,这个用户登陆操作系统以后,就可以直接登陆数据库了。因为操作系统已经认证了这个用户。,CREATE USER OPS$ORA PROFILE DEFAULT IDENTIFIED EXTERNALLY DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCKGR

4、ANT CONNECT TO OPS$ORA,不需要使用用户名和密码就可以直接登录。,这就是一个反例,如果在数据库里面没有建立相应的用户名,不能使用外部认证。,1、对于普通用户来说,账号存储在数据字典的表里面,数据库没有启动以前,不能对用户进行认证。 2、对sys用户的认证方式有些特殊,因为sys用户需要在数据库还没有启动的情况下进行登录,对sys用户的认证主要有两种方式 操作系统认证 密码文件认证,操作系统认证 unix下面,如果用户属于DBA组,那么用户登录操作系统后就可以使用sysdba进行登录 windows下面,如果用户属于ora_dba组,那么用户登录操作系统以后,可以使用sysd

5、ba进行登录,如果用户属于oinstall组,不能进行操作系统认证。,如果用户属于DBA组,那么就可以使用操作系统认证,使用DBA角色登录数据库。在这方面,我们使用最多的就是Oracle用户。 上面的认证需要我们的用户登陆Oracle所在的数据库服务器上。,是否使用操作系统认证,还取决于一个设置,这个文件中有这么一条记录,或者没有这么一条记录。那么就表示可以使用操作系统进行认证。,如果改成NONE,那么表示不能使用操作系统进行认证。,改回来以后,不需要重启什么服务,就直接可以进行连接了。,远程登录Oracle,如何实现sys认证,就需要使用口令文件。 远程登录,必须提供sys的密码,这是安全要

6、求。但是密码又不能存放在数据字典表里面,只能存放在另外一个位置,那就是密码文件。 1、在服务器上建立一个密码文件 unix上位于$ORACLE_HOME/dbs windows上位于$ORACLE_HOME/database,SID为小写,那么口令文件中的orapwSID中的SID也要小些,两者必须相同,而且区分大小写。,在WINDOWS平台下面,口令文件是PWDSID,SID也要遵循大小写。,上面建立了一个口令文件,这个口令文件可以允许5个不同的oracle用户拥有sysdba权限。,2、设置初始化参数,NONE:不能进行密码文件认证,Oracle未启动的情况下,远程用户没有办法通过网络服务

7、的方式以SYSDBA权限登录到Oracle数据库。 EXCLUSIVE:默认值,该密码只能被一个实例使用,我们可以向密码文件中添加新的用户 SHARED:该密码文件可以被多个实例使用(用于RAC),但是密码文件里面只能存放sys和system用户的密码,禁用操作系统以后,只能使用口令文件登陆。 因为sysdba只有两种认证方式。,目前使用口令文件只允许Oracle用户。,显然可以使用口令文件进行认证了,但是目前为止只能sys用户使用口令文件。,修改了参数以后,权限不够了。 因为OS和口令文件全部禁止了,因此没有办法启动数据库了,只能修改OS认证了。,要启用口令文件认证,需要设置口令文件和配置上

8、面的remote参数 默认只有sys可以使用口令文件。,密码文件丢失的情况,可以重建口令文件。,sysadmin也进入了口令文件中。,用户sysadmin也可以在数据库没有启动的情况下,使用口令文件进行认证了。,用户sys的密码存在口令文件和数据字典中,修改了密码以后,会同时更新两个地方的密码。,口令文件中可以存放多个用户,这些用户都可以使用sysdba在数据库没有启动的情况下登录数据库。,建立了一个用户shd,给这个用户分配了连个权限。,另起一个会话,使用shd登陆,建立一个用户。,这个用户不能够被删除,因为这个用户正在连接中。 如何强行中断呢?,等一会,PMON会启动起来,从而清理中断的s

9、ession所占用的资源。,session一直没有删除,可能是PMON未启动或者未能成功的解锁。,找到被删除的那个进程的PADDR,如果能够找到SPID的,那么就直接在linux上将这个进程给kill掉。,虽然还是显示这个会话存在,但是过了一段时间以后,我们继续删除这个用户。发现另外报了一个错误,原来是这个用户下面对象。,使用cascade删除用户,这个用户下面所有的对象都被删除。,Profile的作用主要表现在两个方面 1、密码策略 2、对用户所能使用的资源进行管理 3、profile存放在数据字典里面,默认有一个名字为default的profile,Default profile的一些项,

10、这些项约束着用户。,资源:kernel 密码:password,连续10次登陆不成功就锁定账号,单位为天,一旦登陆次数超过指定的值以后,账号被锁定的时间,默认是unlimited,表示一直锁定下去。,单位为天,密码在多少天以后失效,失效后必须更改密码,单位为天,密码失效后,会缓冲一定的时间,这段时间,每次使用老密码登陆,都会提示更改密码,超过这段时间以后,如果还是没有更改密码,账号就被锁定。,单位为天,在指定的天数以内,设定的密码不能重复。,单位为次数,在指定的次数范围内,密码不能重复。,上面的两个参数是互斥的,同时只能指定一个。,密码复杂度,通过一个函数来实现。如何建立这个函数,有一个样例。

11、,.,可以修个脚本来建立密码函数,默认这个脚本执行后建立一个函数,这个函数绑定到default profile上。我们可以修改这个脚本达到我们的目的。,一个密码函数绑定到了这个配置文件上。,同一个用户同时最多能够产生多少个session,同一个用户一次最多能够持续占用CPU的多少时间,以百分之一秒为单位,例如2000,就说明session一次能够持续使用20秒的CPU,一次调用最多能够持续占用CPU的时间,一个SQL分为解析调用、执行调用等,以百分之一秒为单位,每个session能够进行的逻辑读的最大个数。,一次调用能够进行的逻辑读的最大个数,一次会话能够idle的时间,超过这个时间以后,中断

12、会话,idle指的是既没有CPU、也没有IO等待,SESSION连接数据库超过指定的时间,中断这个SESSION,每个SESSION能够使用的PGA的最大个数,权重,可以使用DBCONTROL创建profile,然后将profile应用到用户上。 删除profile的时候,如果有用户使用这个profile,那么需要加上参数cascade 使用这个配置文件的用户的profile将为default。,权限分为两种:系统权限、对象权限 系统权限 指的是用户能够做什么事情的权限 例如:创建一个表空间、创建表等 Oracle10g有超过100个的系统权限 有很多的权限带有any,举例 create ta

13、ble表示能够在自己的schema里面创建表 create any table表示能够在其他schema里面创建表 所有的系统权限都放在system_privilege_map数据字典里面,我们来研究一些和系统管理有关的权限 1、sysdba和sysoper 最重要也是最大的权限,在数据库里面能够做任何想做的事情 2、restricted session 拥有该权限的用户,则在数据库以restricted模式打开的时候,也能够登录数据库,以restricted模式打开数据库是为了进行维护性的工作,例如升级,我们不希望其他用户也能够登录到数据库,默认只有用户sys具有该权限 3、以create以

14、及create any开头的权限 4、以drop 以及drop any开头的权限 5、create session:表示用户能够连接到数据库实例并创建session,用户要能够登录数据库的话,至少要求该权限,也就是说,创建一个用户以后,至少要给与这个权限,我们先看一下系统都有哪些权限。,上面涉及都后面要讲的问题。,用户systest不仅具有被赋予的create any table权限,还具有将这个权限付给别人的能力。,如果用户需要在其所在的schema下创建对象,则需要游标空间上的配额(quota) 1、unlimited tablespace系统权限,该用户能够在任何表空间里使用存储空间,2

15、、赋予用户在某些特定的表空间上的配额,该配额可以是一个具体的数值,也可以是unlimited,如何知道用户在哪些表空间上存在多少配额?,带有any关键字的系统权限,表示可以在不同的schema下处理对象。默认情况下,即便具有any的系统权限,也不能操作用户sys所拥有的对象,这取决于下面的参数。,保持这个参数的默认值false,防止sys的对象被被的用户访问,非常的危险。,对象权限 例如用户可以查询另一个用户下的一个对象,这就是对象权限,必须以对象所有者的身份登陆,然后将当前用户所具有的某个对象权限赋给另外的用户。,用户systest1可以在userlevel上建立索引,如果userlevel

16、表非常的大,那么访问这个表的时候需要使用索引。,将一个包的执行权限赋给一个用户。,对象权限的传递,使用with grant option。 用户systest1可以将这个权限赋给别的用户。,有一个系统权限grant any object privilege,如果用户具有了该系统权限,那么该用户就可以代表其他用户将他们所拥有的对象的权限赋给任意的用户。 默认只有sys具有这个权限。,将select on test11的权限撤回。,权限具有连带效应。,角色管理 角色是一组权限的集合,并给该集合起了个名称,这个名称就是角色名。 角色可以赋给某个用户,这样该用户就具有了角色所包含的所有权限。 角色还可以赋给另外的角色。 角色的赋权过程中,不能形成环路,否则报错。 A角色赋给了B角色,又把B角色赋给了C角色,如果有要把C角色赋给A角色,系统就会报错。,角色管理的好处 1、利于权限的分配 20个用户,他们的权限相同,每个用户10个权限,总共需要赋权限200次。如果为10个权限建立一个角色,那么只需要付权限30次(10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号