oracle_控制用戶權限



oracle_控制用戶權限

①權 限
    數據庫安全性:
    系統安全性
    數據安全性
    系統權限: 對於數據庫的權限
    對象權限: 操作數據庫對象的權限

1.系統權限
    超過一百多種有效的權限
    數據庫管理員具有高級權限以完成管理任務,例如:
        創建新用戶
        刪除用戶
        刪除表
        備份表

②創建用戶
DBA 使用 CREATE USER 語句創建用戶
CREATE USER user                   
IDENTIFIED BY   password;

1.用戶的系統權限
用戶創建之後, DBA 會賦予用戶一些系統權限
GRANT privilege [, privilege...]   
TO user [, user| role, PUBLIC...];

以應用程序開發者爲例, 一般具有下列系統權限:
CREATE SESSION(創建會話)
CREATE TABLE(創建表)
CREATE SEQUENCE(創建序列)
CREATE VIEW(創建視圖)
CREATE PROCEDURE(創建過程)

③創建用戶表空間
用戶擁有create table權限之外,還需要分配相應的表空間纔可開闢存儲空間用於創建的表
ALTER USER atguigu01(用戶) QUOTA UNLIMITED (無限制)
ON users(表空間)

④創建角色並賦予權限
1.創建角色
CREATE ROLE manager;

2.爲角色賦予權限
GRANT create table, create view    
TO manager;

3.將角色賦予用戶
GRANT manager TO DEHAAN, KOCHHAR;    

⑤修改密碼
DBA 可以創建用戶和修改密碼
用戶本人可以使用 ALTER USER 語句修改密碼
ALTER USER scott                 
IDENTIFIED BY lion;

⑥對象權限
不同的對象具有不同的對象權限
對象的擁有者擁有所有權限
對象的擁有者可以向外分配權限
GRANT object_priv [(columns)]
 ON  object
 TO  {user|role|PUBLIC}
 [WITH GRANT OPTION];

WITH GRANT OPTION和PUBLIC關鍵字
WITH GRANT OPTION 使用戶同樣具有分配權限的權利
向數據庫中所有用戶分配權限

⑦查詢權限分配情況
數據字典視圖 描述
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 {privilege [, privilege...]|ALL}
ON   object
FROM   {user[, user...]|role|PUBLIC}
[CASCADE CONSTRAINTS];


發佈了146 篇原創文章 · 獲贊 260 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章