相关术语
数据库用户账户:用来管理数据库对象的全部权和访问权限
口令: Oracle 数据库使用的验证手段
权限:执行特定类型的SQL 语句或访问其余用户的对象的权利
角色:由相关权限组成的已命名组,可将其授予给用户或其它角色。
概要文件:一组已命名的针对数据库用法和实例资源的资源限制条件
限额:表空间中容许的空间容量。
用户
数据库用户账户
惟一的用户名:不超过30个字节,不包含特殊符号,以字母开头
验证方法:最多见为口令
默认表空间:若是用户未指定其它表空间,则可在这个表空间中建立对象。(不等于说有建立对象的权限,须要单独受权)
临时表空间:用户可在其中建立临时对象(如排序和临时表)的表空间。
用户概要文件:分配给用户的一组资源与口令的限制。
使用者组:由资源管理器使用
锁定状态:用户只能访问“未锁定”账户
预约义帐户
s
ys
&system
sys
授予有 DBA 角色
具备 ADMIN OPTION 的全部权限(with admin option 用于系统权限受权,给一个用户授予系统权限带上with admin option 时,此用户可把此系统权限授予其余用户或角色,但收回这个用户的系统权限时,这个用户已经授予其余用户或角色的此系统权限不会因传播无效)
执行启动、关闭和某些维护命令时所必需的账户(SYSDBA,SYSOPER)
拥有数据字典(数据字典视图和动态性能视图的区别)
拥有自动工做量资料档案库 (AWR)
system
授予有 DBA 角色
没有sysdba权限
sys和sysdba的区别:简单的说sys是一个角色,sysdba是一个权限
使用
EM
建立用户:选择“Administration > Schema > Users & Privileges > Users(管理 > 方案 > 用户和权限 > 用户)” ,而后单击“Create(建立)”按钮。
验证用户
口令:oracle database验证
外部:操做系统认证
全局
:
管理员验证
操做系统安全性
DBA 必须具备建立或删除文件的操做系统权限
普通数据库用户不该具备建立或删除数据库文件的操做系统权限
管理员安全性
口令文件验证会按名称记录 DBA 用户
操做系统验证并不记录具体用户
对于 SYSDBA 和 SYSOPER,操做系统验证优先于口令文件验证
权限
系统权限::每种系统权限都容许用户执行一种或一类特定的数据库操做。系统权限可由管理员授予,或者由能够显式授予管理权限的用户授予
,
授予管理员的权限(grant create table to hr)
RESTRICTED SESSION:在受限模式下打开的数据库也能够登陆
SYSDBA和 SYSOPER:使用这两个权限能够在数据库中执行关闭、启动、恢复及其它管理任务。使用 SYSOPER 用户可执行基本操做任务,但不能查看用户数据。
DROP ANY 对象:使用DROP ANY 权限用户可删除其余用户拥有的对象。
CREATE、MANAGE、DROP 和 ALTER TABLESPACE
CREATE ANY DIRECTORY:使用Oracle 数据库开发人员能够在 PL/SQL 内调用外部代码
。
GRANT ANY OBJECT PRIVILEGE:使用此权限,您能够授予对他人所拥有的对象的对象权限。
ALTER DATABASE和 ALTER SYSTEM
撤销权限(revoke create table from hr)(撤销系统权限时不会产生级联效应)
对象权限:对象权限容许用户对特定对象执行一个特定的操做。在没有特定权限的状况下,用户只能访问本身拥有的对象。对象权限能够由对象的全部者或管理员授予,也能够由为其显式授予了对象授予权限的用户授予。
授予对象权限
选择对象类型
选择对象
选择权限
撤销对象权限(会产生级联效应)
角色
做用
:
简化权限管理
动态地管理权限:若是修改了与某个角色关联的权限,则授予该角色的全部用户都会当即自动得到修改过的权限。
有选择性地应用权限:启用或禁用角色能够暂时打开或关闭权限。
预约义角色
建立角色:选择“Administration > Schema > Users & Privileges > Roles(管理 > 方案 > 用户和权限 > 角色)
保护角色:
角色可能不是默认的:SET ROLE vacationdba;
能够经过验证来保护角色。
经过编程来保护角色:CREATE ROLE secure_application_role IDENTIFIED USING <security_procedure_name>;
建立用户的语法:
create user 帐户名
identified by 密码
password expire
account unlock
default tablespace 表空间名
temporary tablespace 临时表空间名
quota 大小 on tablespace 表空间名
profile default 概要文件
概要文件(指定时间内一恶搞用户只能有一个概要文件,修改概要文件则下次登陆时生效)
定义:指一组已命名的针对数据库用法和实例资源的资源限制条件
做用:控制资源占用
;
管理账户状态和口令失效
口令安全性
账户锁定:若是用户的登陆失败次数达到了指定次数,系统会在设置的一段时间内自动锁定账户。
FAILED_LOGIN_ATTEMPTS 参数指定了在锁定账户前失败的尝试登陆次数。
PASSWORD_LOCK_TIME 参数指定了尝试登陆失败次数达到指定次数后账户的锁定天数。
口令过时和失效:使用户口令具备生存期,口令在今生存期以后失效,必须进行更改。
PASSWORD_LIFE_TIME 参数指定了口令的生存期(以天为单位),此时间以后,口令会失效。
PASSWORD_GRACE_TIME 参数指定了口令失效后首次成功登陆以后,更改口令的宽限期(以天为单位)。
口令历史记录:检查新口令以确保在指定时间内或者在指定口令更改次数内不重复使用口令。
PASSWORD_REUSE_TIME:指定用户不能在指定天数内重复使用口令
PASSWORD_REUSE_MAX:指定在可重复使用当前口令以前须要更改口令的次数
这两个参数是互相排斥的,所以,若是其中一个参数值没有被设置 UNLIMITED,则另外一个参数必须设置为 UNLIMITED
口令复杂性验证:对口令进行复杂性检查可验证口令是否符合特定的规则。
限额
无限制:容许用户最大限度地使用表空间中的可用空间
值:用户可使用的空间,以千字节或兆字节为单位。
UNLIMITED TABLESPACE 系统权限:此系统权限会覆盖全部单个的表空间限额,并向用户提供全部表空间(包括 SYSTEM和 SYSAUX)的无限制限额。
什么时候补充限额?使用 PURGE子句删除了用户拥有的对象或者自动清除了回收站中的对象时会补充限额。
案例
:
建立一个外部认证帐户mary
1、
查看系统默认外部认证帐户的前缀:
show parameter os_authent_prefix; 查看值:普通为ops$
2
、
建立一个操做系统帐户
useradd mary
passwd mary
usermod -g ointsll
3、
建立数据帐户,给链接权限
create user ops$mary IDENTIFIED EXTERNALLY ;
grant create session to ops$mary
4、
mary是远程链接,查看系统是否容许远程链接
remote_os_authent 值false
,
不容许
(
默认
);
值TRUE
,
容许
。
alter system set remote_os_authent=true scope=spfile
5
、
测试 使用 mary登陆操做系统
su - mary
sqlplus /@orcl