Oracle基礎筆記十二

第十二章 用戶控制權限


1.權限:

數據庫安全性:系統安全性和數據安全性

系統權限: 對於數據庫的權限

對象權限: 操作數據庫對象的權限


2.系統權限

超過一百多種有效的權限

數據庫管理員具有高級權限以完成管理任務,例如:

創建新用戶

刪除用戶

刪除表

備份表


2.1

DBA 使用 CREATE USER 語句創建用戶

CREATE USER user                 

IDENTIFIED BY   password;


CREATE USER  scott

IDENTIFIED BY   tiger;


2.2

用戶創建之後, 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     scott;


2.3創建用戶表空間,用戶擁有create table權限之外,還需要分配相應的表空間纔可開闢存儲空間用於創建的表

ALTER USER atguigu01 QUOTA UNLIMITED 

ON users


3.角色

創建角色

CREATE ROLE manager;

爲角色賦予權限

GRANT create table, create view  

TO manager; 

將角色賦予用戶

GRANT manager TO DEHAAN, KOCHHAR;     


修改密碼:DBA 可以創建用戶和修改密碼,用戶本人可以使用 ALTER USER 語句修改密碼

ALTER USER scott              

IDENTIFIED BY lion;


4.對象權限

不同的對象具有不同的對象權限

對象的擁有者擁有所有權限

對象的擁有者可以向外分配權限

GRANT object_priv [(columns)]

 ON object

 TO {user|role|PUBLIC}

 [WITH GRANT OPTION];


4.1分配對象權限

分配表 EMPLOYEES 的查詢權限

GRANT  select

ON     employees

TO     sue, rich;


分配表中各個列的更新權限

GRANT  update 

ON     scott.departments

TO     atguigu


WITH GRANT OPTION 使用戶同樣具有分配權限的權利

GRANT  select, insert

ON     departments

TO     scott

WITH   GRANT OPTION;


向數據庫中所有用戶分配權限

GRANT  select

ON  alice.departments

TO  PUBLIC;


數據字典視圖 描述

ROLE_SYS_PRIVS 角色擁有的系統權限

ROLE_TAB_PRIVS 角色擁有的對象權限

USER_ROLE_PRIVS 用戶擁有的角色

USER_TAB_PRIVS_MADE 用戶分配的關於表對象權限

USER_TAB_PRIVS_RECD 用戶擁有的關於表對象權限

USER_COL_PRIVS_MADE 用戶分配的關於列的對象權限

USER_COL_PRIVS_RECD 用戶擁有的關於列的對象權限

USER_SYS_PRIVS 用戶擁有的系統權限


收回對象權限

使用 REVOKE 語句收回權限

使用 WITH GRANT OPTION 子句所分配的權限同樣被收回

REVOKE  select, insert

ON      departments

FROM    scott;




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章