PS:中括號表示可選項。數據庫
ORACLE 用戶管理 安全
1.建立用戶session
CREATE USER username --用戶名測試
IDENTIFIED BY password --密碼spa
[ACCOUNT LOCK|UNLOCK] --表示用戶是否鎖定狀態對象
[PASSWORD EXPIRE] --表示密碼在登陸後立刻失效it
示例:CREATE USER test IDENTIFIED BY test ACCOUNT LOCK PASSWORD EXPIRE; (建立完成後並不能立刻登陸,需賦予session權限)io
2.修改用戶 test
ALTER USER username --用戶名登錄
[IDENTIFIED BY password] --密碼
[ACCOUNT LOCK|UNLOCK] --表示用戶是否鎖定狀態
[PASSWORD EXPIRE] --表示密碼在登陸後立刻失效
示例: ALTER USER test ACCOUNT UNLOCK;
3.刪除用戶
DROP USER name [CASCADE] --若是用戶擁有數據庫對象,就必須使用cascade關鍵字。
ORACLE 權限管理
1.權限的概念與做用
表示:權利的責任範圍;系統中設置的安全規則或者安全策略。
2.權限的分類
1)系統權限:可否在數據庫上完成某個動做;例如建立會話,建立表、查詢任意表;
2)對象權限:可否在某個數據庫對象上完成某種操做;例如:查詢emp表,修改dept表。
3.權限的授予與回收
1)系統權限的授予
GRANT priv TO user|role [WITH ADMIN OPTION];--是否能夠級聯授予。
示例:GRANT create session TO test WITH ADMIN OPTION;
授予用戶建立會話的權限。--才能鏈接數據庫。 此時test能夠鏈接到數據庫,同時也能夠受權其餘用戶的會話權限。
2)系統權限的回收
REVOKE priv FORM user|role;
示例:REVOKE create session FROM test; PS:系統權限的授予有級聯,回收卻沒有級聯收回。
4.對象權限的授予與回收。
1)對象權限的授予:
GRANT priv [(col,...)] ON object TO user|role [WITH GRANT OPTION];
示例:用system用戶建立了表 t(id)。
GRANT select,update(t) ON system.t to test2 with grant option; 而後用test2 登陸後就能夠查詢和更新t表。
select * from system.t ;
2)對象權限的回收: REVOKE priv[(col,...)] ON object FROM user|role;
示例:REVOKE update on system.t FROM tets2; //回收update權限的時候,收回權限只能收回整個表的update權限。 注意:對象權限的回收是級聯的,即若是此時test2已將權限再次分配給test1.那麼test1的權限也會被收回。
ORACLE 角色管理
1.角色的概念與做用
本質上是權限的集合;用於簡化權限的管理。
2.角色的建立於刪除
1)角色建立: CREAET ROLE role;
示例:建立一個「員工」角色; CREATE ROLE employee;
2)刪除角色: DROP ROLE role; DROP REOLE employee;
3.角色上的權限授予與回收(與用戶權限的授予與回收相似)
1)系統權限的授予:
GRANT pirv TO role [WITH ADMIN OPTION];
示例:授予角色 建立session的權限。(全部與角色關聯的用戶都擁有該權限。)
GRANT create session TO employee with admin option;
2)系統權限的回收:
REVOKE priv FROM role;
示例:回收角色 建立session的權限。(全部與角色關聯的用戶都失去該權限。)
REVOKE create session FROM employee;
3)對象權限的授予:
GRANT [priv(col...)] ON object TO role;
示例:將system的表t3的查詢權限授予employee角色。 GRANT select ON system.t3 TO employee;
4)對象權限的回收: REVOKE [priv(col...)] ON object FROM role; 示例:將system表t3的查詢權限收回。
REVOKE select ON SYSTEM.T3 FROM employee;
4.用戶與角色關聯(用戶上授予角色)
GRANT role TO user; 示例:將test1,test2關聯角色employee;
GRANT employee TO test1,test2;
PS:經測試:若是在授予角色以前用戶已登陸,則須要從新登陸后角色對應的權限才能生效。
5.用戶與角色取消關聯(用戶上回收角色)
REVOKE role FROM user; 示例:將用戶test1,test2與角色employee取消關聯。
PS:經測試:若是在回收角色以前用戶已登陸,則須要從新登陸后角色對應的權限才能收回。