四、用户和权限
- 掌握建立用户、概要文件的使用
- 掌握系统权限的含义及授予、回收
- 掌握对象权限的含义及授予、回收
- 掌握角色的含义、对角色授予权限、把角色分配给用户
Oracle11g基础–默认用户
- 只有用合法的用户帐号才能访问Oracle数据库
- Oracle 有几个默认的数据库用户
Oracle11g基础–创建新用户
- 要连接到Oracle数据库,就需要创建一个用户帐户
- 每个用户都有一个默认表空间和一个临时表空间
- CREATE USER命令用于创建新用户
CREATE USER 命令的语法是:
profile(概要文件)管理用户1
当创建用户时候,如果没有指定profile,那么Oracle把名字叫default的profile赋予给用户。
指定test1只能最多输入3次密码,
创建profile文件:create profile pro1 limit failed_login_attempts 3 password_lock_time 2;
其中,FAILED_LOGIN_ATTEMPTS:用于指定联系登陆的最大失败次数. PASSWORD_LOCK_TIME:用于指定帐户被锁定的天数.
创建属于pro1的用户:
create user aa identified by aa profile pro1;
修改用户的profile文件:
alter user test1 profile pro1;
https://计算机名:1158/em/
profile(概要文件)管理用户2
解除锁定: alter user test1 account unlock;
终止口令:需要每隔10天修改密码,最多宽限2天:ALTER PROFILE "PRO1" LIMIT PASSWORD_LIFE_TIME 10 PASSWORD_GRACE_TIME 2。
删除profile:drop profile pro1 cascade; 使得test1的profile重新变成了default
Oracle11g基础–权限
- 权限指的是执行特定命令或访问数据库对象的权利
- 权限有两种类型,系统权限和对象权限
- 系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限
- 对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作
Oracle11g基础–系统权限
授予用户权限,可以是系统权限或者对象权限。
GRANT privilege [,privilege…]
TO user [, user|role, PUBLIC…]
[WITH ADMIN OPTION];
说明:包含了WITH ADMIN OPTION,只能是系统权限。
收回系统权限REVOKE
例:REVOKE create session FROM test1;
GRANT 命令可用于为用户分配权限或角色
Oracle11g基础–对象权限
对象权限:访问某个用户的特定对象(如表、视图等)
的对象权限(select on scott.student)
GRANT object_privilege [columns…]
ON object TO user [, user|role, PUBLIC…]
[WITH GRANT OPTION];
收回对象权限REVOKE:
REVOKE privilege ON object
FROM {user|role|PUBLIC};
例:revoke select on scott.student from test2;
授予用户 wang操作EMP表对象的权限
授予精确到列上的权限
级联授予,收回则级联收回(所有都收回)
Oracle11g基础–角色管理
角色管理:角色是一组相关权限的组合,可以将权限授予角
色,再把角色授予用户,以简化权限管理。
(1)创建角色CREATE ROLE,应该具有CREATE ROLE系统权限。
CREATE ROLE role_name;
(2) 授予角色权限,可以是系统权限或者对象权限。
GRANT privilege TO ROLE;
例: grant create session ,create any table, drop any table to role1;
(3) 将角色授予用户
GRANT role TO user;
例: grant role1 to test2;
(4) 从用户收回角色
REVOKE role FROM user;
GRANT 命令可用于为用户分配权限或角色