目录
3、给予新用户基本权限 create session , create any table
1. (论述题) 撰写权限管理的实训报告
实训5 安全管理
实训目的:
1、理解用户与模式的概念,掌握oracle中用户管理的基本方法
2、理解系统权限、对象权限的概念,掌握分配权限的方法
3、理解角色的概念,掌握角色的应用方法
实训内容:
建议使用管理员模式来登录sqlplus
例如:sqlplus system/oracle520@orcl as sysdba
这样通过直接用管理员的账号拥有权限可以创建用户或者其他功能。但是注意使用方式,防止管理员账号泄露。
一、用户管理与应用
1、查看用户与模式
select table_name from user_tables; //当前用户的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
2、创建用户
create user zhang3 identified by "1234";
//zhang3 为用户名,1314为密码;
3、给予新用户基本权限 create session , create any table
//建议直接在管理员的用户来操作
GRANT CREATE SESSION TO zhang3;
GRANT CREATE ANY TABLE TO zhang3;
4、调整用户的密码、锁定状态、配额等
alter user zhang3 identified by"1314";
//修改了用户密码
锁定:
alter user zhang3 account lock;
alter user zhang3 account unlock;
配额:
ALTER USER username QUOTA 30M ON USERS;
将username
替换为要修改配额的用户的用户名。
查看表空间
SELECT a.tablespace_name "表空间名", total "表空间大小(MB)", free "表空间剩余大小(MB)", (total-free) "表占用空间大小(MB)", ROUND((total-free)/total*100,2) || '%' "已使用空间百分比" FROM (SELECT tablespace_name, SUM(bytes)/1024/1024 total FROM dba_data_files GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes)/1024/1024 free FROM dba_free_space GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name ORDER BY total DESC;
5、删除用户!!
drop user zhang3;
二、权限管理与应用
系统权限system privilege
系统权限:
定义:系统权限是在系统级别控制数据库的存取和使用机制。它主要是针对用户来设置的,用户必须被授予相应的系统权限,才能连接到数据库中执行某种操作。
内容:系统权限通常包括一些数据库管理任务,如创建会话、创建表、创建视图、创建用户等。这些权限允许用户对数据库进行全局性的操作和管理。
作用:系统权限的设置可以确保只有经过授权的用户才能执行特定的数据库操作,从而保护数据库的安全性和完整性。
对象权限object privilege 多 on objectName
对象权限:
定义:对象权限是在模式对象上控制存取和使用的机制。它是指用户和用户之间对表、视图等模式对象互相存取权限。
内容:对象权限通常包括对数据库对象的特定操作,如查询、插入、更新、删除等。这些权限允许用户对特定的数据库对象进行操作。
作用:对象权限的设置可以确保用户只能访问和操作他们被授权访问的数据库对象,从而保护数据的安全性和隐私性。
1、授予或回收系统权限
使用GRANT语句授予系统权限。例如,要授予用户myuser创建会话的权限:
GRANT CREATE SESSION TO zhang3;
如果要授予多个系统权限,可以在GRANT语句中列出它们:
GRANT CREATE SESSION, CREATE TABLE TO zhang3;
使用REVOKE
语句回收对象权限
REVOKE CREATE TABLE FROM zhang3;
2、授予或回收对象权限
使用GRANT语句授予对象权限,并指定对象名。例如,要授予用户myuser对表mytable的插入权限:
GRANT INSERT ON mytable TO myuser;
使用REVOKE语句回收对象权限。例如,要回收用户myuser对表mytable的插入权限:
REVOKE INSERT ON mytable FROM myuser;
3、转交管理权限或收回管理权限(权限传递)
在授予权限时,使用WITH GRANT OPTION子句。
例如:
GRANT SELECT ON myview TO myuser WITH GRANT OPTION;
这允许myuser不仅自己对myview有查询权限,还可以将查询权限授予其他用户。
三、角色管理与应用
role 一系列权限的命名集合,目的是简化权限管理的复杂性
1、创建角色
CREATE ROLE my_role;
2、将各类权限放入角色
一旦角色被创建,就可以使用GRANT语句将各种系统权限、对象权限或其他角色权限赋予给这个角色。
例如,要将CREATE SESSION和CREATE TABLE的系统权限赋予给my_role角色,可以使用以下语句:
GRANT CREATE SESSION, CREATE TABLE TO my_role;
同样地,也可以将对象权限赋予给角色。
例如,要将对表my_table的SELECT和INSERT权限赋予给my_role角色,可以使用以下语句:
GRANT SELECT, INSERT ON my_table TO my_role;
3、将角色授予某用户
可以使用GRANT语句将角色赋予给特定的用户。只有具有足够权限的用户(如DBA)才能执行此操作。
例如,要将my_role角色赋予给用户my_user,可以使用以下语句:
GRANT my_role TO my_user;
感谢你的浏览0.o