在oracle中建立的新使用者是沒有任何許可權的,甚至連登入到資料庫的許可權都沒有,需要dba為其賦予相應的許可權。
許可權是指執行特定型別sql命令或是訪問其它方案物件的權利,包括系統許可權和物件許可權兩種。
系統許可權是指執行特定型別sql命令的權利(使用者對資料庫的相關許可權)。它用於控制使用者可以執行的乙個或是一組資料庫操作。比如當使用者具有create table許可權時,可以在其方案中建表,當使用者具有create any table許可權時,可以在任何方案中建表。
oracle提供了140多種系統許可權。常用的有:
create session
連線資料庫
create table
建表create view
建檢視create public synonym
建同義詞
create procedure
建過程、函式、包
create trigger
建觸發器
create cluster
建簇顯示系統許可權
oracle提供了140多種系統許可權,而且oracle的版本越高,提供的系統許可權就越多,我們可以查詢資料字典檢視system_privilege_map,可以顯示所有系統許可權。
select * from system_privilege_map order by name;
授予系統許可權
用法:grant 系統許可權 to 使用者名稱 with admin option;一般情況,授予系統許可權是由dba完成的,如果用其他使用者來授予系統許可權,則要求該使用者必須具有grant any privilege的系統許可權。在授予系統許可權時,可以帶有with admin option選項,這樣,被授予許可權的使用者或是角色還可以將該系統許可權授予其它的使用者或是角色。
**系統許可權
用法:revoke 系統許可權 from 使用者名稱;一般情況下,**系統許可權是dba來完成的,如果其它的使用者來**系統許可權,要求該使用者必須具有相應系統許可權及轉授系統許可權的選項(with admin option)。**系統許可權使用revoke來完成。
當**了系統許可權後,使用者就不能執行相應的操作了,但是請注意,系統許可權級聯收回的問題?[不是級聯**
!]
物件許可權是指訪問其它方案物件的權利(使用者對其他使用者的資料物件操作的許可權),使用者可以直接訪問自己方案的物件,但是如果要訪問別的方案的物件,則必須具有物件的許可權。
常用的物件許可權
alter
修改delete
刪除 select
查詢insert
新增update
修改all
(insert ,delete ,update ,select)4個物件許可權的集合
index
索引 references
引用execute
執行顯示物件許可權
通過資料字段檢視(dba_tab_privs)可以顯示使用者或是角色所具有的物件許可權。
授予物件許可權conn system/manager;
select distinct privilege from dba_tab_privs;
select grantor, owner, table_name, privilege from dba_tab_privs where grantee = 'blake';
用法:grant 物件許可權 on 方案名.表名 to 使用者名稱 with admin option;在oracle9i前,授予物件許可權是由物件的所有者來完成的,如果用其它的使用者來操作,則需要使用者具有相應的(with grant option)許可權,從oracle9i開始,dba使用者(sys,system)可以將任何物件上的物件許可權授予其它使用者。授予物件許可權是用grant 命令來完成的。
物件許可權可以授予使用者,角色,和public。在授予許可權時,如果帶有with grant option選項,則可以將該許可權轉授給其它使用者。但是要注意with grant option選項不能被授予角色。
**物件許可權
用法:revoke 物件許可權 on 方案名.表名 from 使用者名稱;在oracle9i中,收回物件的許可權可以由物件的所有者來完成,也可以用dba使用者(sys,system)來完成。
這裡要說明的是:收回物件許可權後,使用者就不能執行相應的sql命令,但是要注意的是物件的許可權是否會被級聯收回?【級聯**】
注:物件許可權的**和系統許可權的**剛好相反,物件許可權是級聯**,而系統許可權是不級聯**!
oracle高階三(索引 許可權,角色)
oracle高階三 索引 許可權,角色 索引加速資料的訪問,合理的使用索引可以大大降低i o 的次數,提高訪問的效能單列索引 基於單個列所建立的索引 create index 索引名 on 表名 列名 復合索引 基於多個列的索引,同乙個表可以有多個索引,但是要求列的組合必須不能,意思就是不能對於相同...
許可權管理 高階許可權
一.高階許可權管理acl 使用setfacl命令可以對每乙個檔案或者目錄設定更精確的檔案許可權,比如 讓某乙個使用者對某一檔案具有某種許可權.這種獨立於u,g,o的rwx許可權之外的具體許可權設定叫acl,它可以對單一使用者,單一檔案或者目錄進行r,w,x的許可權控制.1.getfacl opt a...
9 高階許可權
高階許可權 suid,sgid,sticky suid 針對二進位制檔案 可執行檔案 提權 讓普通使用者對檔案有超級使用者的許可權 sgid sticky 問題1 為什麼會失敗!root fanhua ll root file1.txt rw r r 1 root root 4 7月 27 14 1...