oracle用户及权限管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三安全管理

【开发语言及实现平台或实验环境】

Oracle10g

【实验目的】

练习创建用户、用户的授权、创建角色、将角色授权给用户等安全管理命令

【实验原理】

一、用户管理

1创建用户

基本语法:

CREATE USER user_name IDENTIFIED

[BY password|EXTERNALL Y|GLOBALL Y

AS 'external_name']

[DEFAULT TABLESPACE tablespace_name]

[TEMPORARY TABLESPACE temp_tablesapce_name]

[QUOTA n K|M|UNLIMITED ON tablespace_name]

[PROFILE profile_name]

[PASSWORD EXPIRE]

[ACCOUNT LOCK|UNLOCK];

注意:在创建新用户后,必须为用户授予适当的权限。例如,授予用户CREATE SESSION 权限后,用户才可以连接到数据库。

参数说明:

user_name:用于设置新建用户名,在数据库中用户名必须是唯一的;

IDENTIFIED:用于指明用户身份认证方式;

BY password:用于设置用户的数据库身份认证,其中password为用户口令;EXTERNALL Y:用于设置用户的外部身份认证;

GLOBALL Y AS'external_name':用于设置用户的全局身份认证,其中external_name为Oracle 的安全管理服务器相关信息;

DEFAULT TABLESPACE:用于设置用户的默认表空间,如果没有指定,Oracle将数据库默认表空间作为用户的默认表空间;

TEMPORARY TABLESPACE:用于设置用户的临时表空间;

QUOTA:用于指定用户在特定表空间上的配额,即用户在该表空间中可以分配的最大空间;PROFILE:用于为用户指定概要文件,默认值为DEFAULT,采用系统默认的概要文件;PASSWORD EXPIRE:用于设置用户口令的初始状态为过期,用户在首次登录数据库时必须修改口令;

ACCOUNT LOCK:用于设置用户初始状态为锁定,默认为不锁定;

ACCOUNT UNLOCK:用于设置用户初始状态为不锁定或解除用户的锁定状态。

实例:

创建一个用户user3,口令为user3,默认表空间为USERS,在该表空间的配额为10 MB,

初始状态为锁定。

CREATE USER user3 IDENTIFIED BY user3

DEFAULT TABLESPACE USERS QUOTA 10M ON USERS ACCOUNT LOCK;

创建一个用户user4,口令为user4,默认表空间为USERS,在该表空间的配额为10 MB。口令设置为过期状态,即首次连接数据库时需要修改口令。概要文件为example_profile(假设该概要文件已经创建)。

CREATE USER user4 IDENTIFIED BY user4

DEFAULT TABLESPACE USERS

QUOTA 10M ON USERS

PROFILE example_profile

PASSWORD EXPIRE;

2. 修改用户

基本语法:

ALTER USER user_name [IDENTIFIED]

[BY password|EXTERNALL Y|GLOBALL Y

AS 'external_name']

[DEFAULT TABLESPACE tablespace_name]

[TEMPORARY TABLESPACE temp_tablesapce_name]

[QUOTA n K|M|UNLIMITED ON tablespace_name]

[PROFILE profile_name]

[DEFAULT ROLE role_list|ALL [EXCEPT role_list]

|NONE]

[PASSWORD EXPIRE]

[ACCOUNT LOCK|UNLOCK];

参数说明:

role_list:角色列表;

ALL :表示所有角色;

EXCEPT role_list:表示除了role_list列表中的角色之外的其他角色;

NONE:表示没有默认角色。

注意,指定的角色必须是使用GRANT命令直接授予该用户的角色。

实例:

将用户user3的口令修改为newuser3,同时将该用户解锁。

ALTER USER user3

IDENTIFIED BY newuser3 ACCOUNT UNLOCK;

3.删除用户

基本语法

DROP USER user_name [ CASCADE ];

步骤

先删除用户所拥有的对象

再删除用户

将参照该用户对象的其他数据库对象标志为INV ALID

实例:

DROP USER users4;

二、权限管理

1.系统权限管理

(1) 系统权限的授权

语法:

GRANT sys_priv_list TO

user_list|role_list|PUBLIC

[WITH ADMIN OPTION];

参数说明:

sys_priv_list:表示系统权限列表,以逗号分隔;

user_list:表示用户列表,以逗号分隔;

role_list:表示角色列表,以逗号分隔;

PUBLIC:表示对系统中所有用户授权;

WITH ADMIN OPTION:表示允许系统权限接收者再把此权限授予其他用户。

例:

为用户user1授予CREATE SESSION,CREATE TABLE,CREATE INDEX系统权限。CONNECT SYSTEM/MANAGER@ORCL;

GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW TO user1;

为用户user2授予CREATE SESSION,CREATE TABLE ,CREATE INDEX系统权限。user2获得权限后,为用户user3授予CREATE TABLE权限。

CONNECT SYSTEM/MANAGER@ORCL;

GRANT CREATE SESSION,CREATE TABLE,

CREATE VIEW TO user2 WITH ADMIN OPTION;

CONNECT user2/user2 @ORCL

GRANT CREATE TABLE TO user3;

(2)系统权限的回收

语法:

REVOKE sys_priv_list

FROM user_list|role_list|PUBLIC;

例:回收user1的CREATE TABLE,CREATE VIEW 权限,语句为:

CONNECT SYSTEM/MANAGER@ORCL;

REVOKE CREATE TABLE,CREATE VIEW FROM user1;

2. 对象权限的管理

(1) 对象权限的授权

语法:

GRANT obj_priv_list|ALL ON [schema.]object

TO user_list|role_list [WITH GRANT OPTION];

参数说明:

相关文档
最新文档