Oracle系列十五 控制用户权限
2024-09-03 10:53:39
权限
- 数据库安全性
--系统安全性
--数据安全性
- 系统权限: 对于数据库的权限
- 对象权限: 操作数据库对象的权限
系统权限
- 超过一百多种有效的权限
- 数据库管理员具有高级权限以完成管理任务,例如:
- 创建新用户
- 删除用户
- 删除表
- 备份表
创建用户
DBA 使用 CREATE USER 语句创建用户
CREATE USER user
IDENTIFIED BY password;
注:oracle 12c在结构上做出了调整,引入了CDB和PDB的概念,CDB中的操作,用sys默认登录的是CDB,但是如果想在CDB中创建用户(可以理解为公共用户)的话,那么必须在用户名前面加上“c##”,否则会报错:
正确写法:
用户的系统权限
用户创建之后, DBA 会赋予用户一些系统权限
GRANT privilege [, privilege...]
TO user [, user| role, PUBLIC...];
以应用程序开发者为例, 一般具有下列系统权限:
- CREATE SESSION(创建会话)
- CREATE TABLE(创建表)
- CREATE SEQUENCE(创建序列)
- CREATE VIEW(创建视图)
- CREATE PROCEDURE(创建过程)
DBA 可以赋予用户特定的权限
GRANT create session, create table,
create sequence, create view
TO c##loaderman;
创建用户表空间
- 用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表
ALTER USER c##loaderman
QUOTA UNLIMITED ON users;
角色
创建角色并赋予权限
- 创建角色
CREATE ROLE c##manager;
- 为角色赋予权限
GRANT create table, create view
TO c##manager;
- 将角色赋予用户
GRANT c##manager TO c##loaderman;
修改密码
- DBA 可以创建用户和修改密码
- 用户本人可以使用 ALTER USER 语句修改密码
ALTER USER c##loaderman
IDENTIFIED BY loaderman;
对象权限
- 不同的对象具有不同的对象权限
- 对象的拥有者拥有所有权限
- 对象的拥有者可以向外分配权限
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION];
- 分配对象权限
- 分配表 EMPLOYEES 的查询权限
分配表中各个列的更新权限
GRANT update
ON system.departments
TO c##loaderman
WITH GRANT OPTION和PUBLIC关键字
- WITH GRANT OPTION 使用户同样具有分配权限的权利
GRANT select, insert
ON departments
TO c##loaderman
WITH GRANT OPTION;
向数据库中所有用户分配权限
GRANT select
ON system.departments
TO PUBLIC;
查询权限分配情况
收回对象权限
- 使用 REVOKE 语句收回权限
- 使用 WITH GRANT OPTION 子句所分配的权限同样被收回
REVOKE {privilege [, privilege...]|ALL}
ON object
FROM {user[, user...]|role|PUBLIC}
[CASCADE CONSTRAINTS];
REVOKE select, insert
ON departments
FROM c##loaderman;
使用新建的用户连接数据库:
最新文章
- Android的编码规范
- java Servlet小结
- [原]centos6.5系统可用yum源(32位)以及rpmforge
- StringUtils方法全集
- 玩转正则之highlight高亮
- oracle RAC的VIP和scan
- 良精南方cms /inc/Check_Sql.asp SQL Injection Based On Cookie
- NET异常 在 getsockopt 或 setsockopt 调用中指定的一个未知的、无效的或不受支持的选项或层次。
- php--linux环境下的主从复制
- 【转】oracle connect by用法
- 基于SocketAsyncEventArgs的版本
- Mac上小巧实用的GIF格式录屏软件 LICEcap
- cocos2d-x3.0数据结构
- css雪碧图(css splite)
- socket和webService的区别
- 2018~试试idea~
- SP687 REPEATS - Repeats
- Ubuntu教程
- Redis备份及回收策略
- URAL 1277 - Cops and Thieves - [无向图点带权的最小点割]
热门文章
- 树莓派开机发送IP地址到邮箱
- Nginx Location指令URI匹配规则详解
- HAProxy的基础配置详解
- 常用Windows命令、常用 Cmd命令(补充)
- SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)
- 【 BowWow and the Timetable CodeForces - 1204A 】【思维】
- TabBar 设置可滚动:isScrollable: true
- oracle之随机数
- hbase与Hive的集成
- Game-Based Learning Is Changing How We Teach. Here's Why.