1. 数据库的安全性主要包括两个方面的含义:
一方面是防止非法用户对数据库的访问,未授权的用户不能登录数据库;
另一方面是每个数据库用户都有不同的操作权限,只能进行自己权限范围内的操作。
2. Oracle数据安全控制机制
(1) 用户管理
(2) 权限管理
(3) 角色管理
(4) 表空间设置和配额
(5) 用户资源限制
(6) 数据库审计
3. Oracle数据库初始用户
(1) SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典;
(2) SYSTEM:是一个辅助的数据库管理员,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户等。
(3) SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。
(4) PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。要为数据库中每个用户都授予某个权限,只需把权限授予PUBLIC就可以了。
4. 用户属性
(1) 用户身份认证方式
数据库身份认证
外部身份认证
(2) 默认表空间
(3) 临时表空间
(4) 表空间配额
(5) 概要文件
(6) 账户状态
5. 创建用户
基本语法
CREATE USER user_name IDENTIFIED
[BY password|EXTERNALLY|GLOBALLY
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权限后,用户才可以连接到数据库。
6. 修改用户
(1)将用户user3的口令修改为newuser3,同时将该用户解锁。
ALTER USER user3
IDENTIFIED BY newuser3 ACCOUNT UNLOCK;
(2)修改用户user4的默认表空间为ORCLTBS1,在该表空间的配额为20 MB,在USERS表空间的配额为10 MB。
ALTER USER user4
DEFAULT TABLESPACE ORCLTBS1
QUOTA 20M ON ORCLTBS1
QUOTA 10M ON USERS;
7. 权限管理
系统权限:系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。例如,CREATE SESSION权限、CREATE ANY TABLE权限。
对象权限:对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。
8. 授权方法
直接授权:利用GRANT命令直接为用户授权。
间接授权:先将权限授予角色,然后再将角色授予用户。
9. 系统权限的回收
语法为
REVOKE sys_priv_list
FROM user_list|role_list|PUBLIC;;
注意事项
多个管理员授予用户同一个系统权限后,其中一个管理员回收其授予该用户的系统权限时,该用户将不再拥有相应的系统权限。
为了回收用户系统权限的传递性(授权时使用了WITH ADMIN OPTION子句),必须先回收其系统权限,然后再授予其相应的系统权限。
如果一个用户获得的系统权限具有传递性,并且给其他用户授权,那么该用户系统权限被回收后,其他用户的系统权限并不受影响。
领取专属 10元无门槛券
私享最新 技术干货