【Privilege】Oracle系統許可權非級聯收回現象測試
Oracle許可權分為系統許可權和物件許可權。這裡給大家演示一下關於系統許可權授予以及回收過程中的一個特殊場景:系統許可權非級聯收回現象。
本實驗中共涉及到三個使用者:SYS使用者、secooler1使用者和secooler2使用者。
1.清理並初始化使用者
1)清理測試使用者secooler1和secooler2
sys@secdb> drop user secooler1;
User dropped.
sys@secdb> drop user secooler2;
User dropped.
2)建立測試使用者secooler1和secooler2
sys@secdb> create user secooler1 identified by secooler1;
User created.
sys@secdb> create user secooler2 identified by secooler2;
User created.
2.對secooler1使用者和secooler2使用者進行授權
1)SYS使用者使用with admin option選項對secooler1使用者授予建立會話的系統許可權
sys@secdb> grant create session to secooler1 with admin option;
Grant succeeded.
2)連線到secooler1使用者將建立會話的許可權授予secooler2使用者
因為secooler1具有admin許可權,因此可以將建立會話的許可權再次授予其他使用者,這裡將建立會話的許可權授予secooler2使用者。
sys@secdb> conn secooler1/secooler1
Connected.
secooler1@secdb> grant create session to secooler2;
Grant succeeded.
3.檢視系統許可權授予情況
1)連線到SYS使用者
secooler1@secdb> conn / as sysdba
Connected.
2)檢視secooler1使用者的系統許可權
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER1';
GRANTEE PRIVILEGE ADM
-------------------- ------------------------------ ---
SECOOLER1 CREATE SESSION YES
secooler1使用者具有建立會話的許可權,同時具有admin選項。
3)檢視secooler2使用者的系統許可權
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER2';
GRANTEE PRIVILEGE ADM
-------------------- ------------------------------ ---
SECOOLER2 CREATE SESSION NO
secooler2使用者具有建立會話的許可權。
4.使用SYS使用者回收secooler1使用者的建立會話許可權
sys@secdb> revoke create session from secooler1;
Revoke succeeded.
5.確認系統許可權回收結果
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER1';
no rows selected
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER2';
GRANTEE PRIVILEGE ADM
-------------------- ------------------------------ ---
SECOOLER2 CREATE SESSION NO
可見,secooler1使用者的建立會話的許可權已經被回收成功,但是注意,這裡secooler2使用者的建立會話的許可權並沒有被級聯收回。這便是系統許可權回收過程中的特點。
6.測試使用者許可權收回結果
sys@secdb> conn secooler2/secooler2
Connected.
secooler2@secdb> conn secooler1/secooler1
ERROR:
ORA-01045: 使用者 SECOOLER1 沒有 CREATE SESSION 許可權; 登入被拒絕
Warning: You are no longer connected to ORACLE.
可見,此時secooler2使用者依然可以連線成功,因為secooler2使用者的建立會話的許可權沒有被級聯收回。
7.小結
Oracle系統許可權不具有級聯收回的功能。在使用具有admin選項授權時請注意許可權收回的全面性。
Good luck.
secooler
11.10.25
-- The End --
本實驗中共涉及到三個使用者:SYS使用者、secooler1使用者和secooler2使用者。
1.清理並初始化使用者
1)清理測試使用者secooler1和secooler2
sys@secdb> drop user secooler1;
User dropped.
sys@secdb> drop user secooler2;
User dropped.
2)建立測試使用者secooler1和secooler2
sys@secdb> create user secooler1 identified by secooler1;
User created.
sys@secdb> create user secooler2 identified by secooler2;
User created.
2.對secooler1使用者和secooler2使用者進行授權
1)SYS使用者使用with admin option選項對secooler1使用者授予建立會話的系統許可權
sys@secdb> grant create session to secooler1 with admin option;
Grant succeeded.
2)連線到secooler1使用者將建立會話的許可權授予secooler2使用者
因為secooler1具有admin許可權,因此可以將建立會話的許可權再次授予其他使用者,這裡將建立會話的許可權授予secooler2使用者。
sys@secdb> conn secooler1/secooler1
Connected.
secooler1@secdb> grant create session to secooler2;
Grant succeeded.
3.檢視系統許可權授予情況
1)連線到SYS使用者
secooler1@secdb> conn / as sysdba
Connected.
2)檢視secooler1使用者的系統許可權
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER1';
GRANTEE PRIVILEGE ADM
-------------------- ------------------------------ ---
SECOOLER1 CREATE SESSION YES
secooler1使用者具有建立會話的許可權,同時具有admin選項。
3)檢視secooler2使用者的系統許可權
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER2';
GRANTEE PRIVILEGE ADM
-------------------- ------------------------------ ---
SECOOLER2 CREATE SESSION NO
secooler2使用者具有建立會話的許可權。
4.使用SYS使用者回收secooler1使用者的建立會話許可權
sys@secdb> revoke create session from secooler1;
Revoke succeeded.
5.確認系統許可權回收結果
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER1';
no rows selected
sys@secdb> select * from dba_sys_privs where grantee='SECOOLER2';
GRANTEE PRIVILEGE ADM
-------------------- ------------------------------ ---
SECOOLER2 CREATE SESSION NO
可見,secooler1使用者的建立會話的許可權已經被回收成功,但是注意,這裡secooler2使用者的建立會話的許可權並沒有被級聯收回。這便是系統許可權回收過程中的特點。
6.測試使用者許可權收回結果
sys@secdb> conn secooler2/secooler2
Connected.
secooler2@secdb> conn secooler1/secooler1
ERROR:
ORA-01045: 使用者 SECOOLER1 沒有 CREATE SESSION 許可權; 登入被拒絕
Warning: You are no longer connected to ORACLE.
可見,此時secooler2使用者依然可以連線成功,因為secooler2使用者的建立會話的許可權沒有被級聯收回。
7.小結
Oracle系統許可權不具有級聯收回的功能。在使用具有admin選項授權時請注意許可權收回的全面性。
Good luck.
secooler
11.10.25
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-709663/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Privilege】Oracle物件許可權級聯收回現象測試Oracle物件
- 系統許可權 GRANT ANY OBJECT PRIVILEGE的作用!Object
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- 系統許可權傳遞和物件許可權傳遞的測試物件
- Oracle系統許可權Oracle
- oracle物件與系統許可權小測Oracle物件
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- 擁有GRANT ANY OBJECT PRIVILEGE許可權時的許可權回收Object
- oracle列級許可權控制Oracle
- Android系統許可權和root許可權Android
- 許可權系統:一文搞懂功能許可權、資料許可權
- 12c 新增許可權Inherit privilege說明
- MySQL許可權系統MySql
- 基本Linux許可權提升(Basic Linux Privilege Escalation)Linux
- 詳解Oracle的unlimited tablespace系統許可權OracleMIT
- Oracle privilege學習與測試Oracle
- 許可權系統:許可權應用服務設計
- mongodb 的許可權系統MongoDB
- 【JavaWeb】許可權管理系統JavaWeb
- 有贊許可權系統
- Android系統許可權Android
- 許可權系統設計
- 許可權系統跟進
- ORACLE許可權Oracle
- 前端許可權控制系統的實現思路前端
- 許可權系統:6個許可權概念模型設計模型
- 許可權系統:許可權應用服務設計Tu
- Linux 系統中的超級許可權的控制Linux
- 和物件許可權相關的表table_privilege_map物件
- Oracle資料庫的系統和物件許可權Oracle資料庫物件
- 許可權傳遞的一點測試!
- 許可權維持專題:作業系統許可權維持作業系統
- 企業許可權管理系統
- Winner許可權管理系統3.0
- MySQL許可權系統簡介MySql
- 通用許可權系統介紹
- 許可權系統概要(收集,整理)
- Mysql存取許可權系統(轉)MySql