oracle
的使用者安全管理主要有
許可權和角色
當剛剛建立使用者時,使用者沒有任何許可權,也不能執行任何操作。如果要執行某種特定的資料庫操作,則必須為其授予系統的許可權。
如果使用者要訪問其他方案的物件,則必須為其授予物件的許可權,為了簡化許可權的管理,可以使用角色許可權:
這裡是執行特定的命令和訪問物件的權利
.包括系統和物件許可權
是執行特定型別的
sql命令
.主要是對使用者來說的
.分類
對於普通使用者:授予
connect, resource許可權。
對於dba管理使用者:授予connect,resource, dba許可權
系統許可權授權命令:
[系統許可權只能由
dba使用者授出:sys, system(最開始只能是這兩個使用者)]
授權命令:sql> grant connect, resource, dba to 使用者名稱1 [,使用者名稱2]...;
[普通使用者通過授權可以具有與
system相同的使用者許可權,但永遠不能達到與sys使用者相同的許可權,system使用者的許可權也可以被**]
例:
sql> connect system/manager
sql> create user user50 identified by user50;
sql> grant connect,resource to user50;
查詢使用者擁有**許可權:
sql> select * from dba_role_privs;
sql> select * from dba_sys_privs;
sql> select * from role_sys_privs;
刪除使用者:
sql> drop user 使用者名稱 cascade; //加上cascade則將使用者連同其建立的東西全部刪除
注意:在授予系統許可權時
,可以帶有
with admin option選項,這樣,被授予許可權的使用者或是角色還可以將該系統許可權授予其他的使用者
或是角色。
例如//
建立使用者
sql>create user kenidentified by m123;
sql>create user tomidentified by m123
給使用者ken授權
sql>grant create session,create table to ken with admin option;
sql>grant create view to ken;
給使用者tom授權
我們可以通過ken給tom授權,因為with admin option是加上的。當然也可以通過dba給tom授權,這裡我們就用ken給tom授權。
sql>grant createsession,create table to tom with admin option;
sql>grantcreate view to tom;——這個是不可以的,因為ken沒有該許可權的下放許可權。
**系統許可權
一般情況下,**系統許可權是
dba來完成的,如果其他的使用者來**系統許可權,要求該使用者必須具有相應系統許可權及轉授系統許可權
的選項(with admin option)。**系統許可權使用revoke來完成。
當**了系統許可權後,使用者就不能執行相應的操作了,但是請注意,系統許可權不是級聯**的。
執行以下語句:
sql>revoke create session from ken;
說明:dba執行了該語句後**了ken的登入許可權後,ken自然就不能再登入了,有ken下放的該許可權所有者tom還是可以正常
登入的。
某種許可權使用者對其它使用者的表或檢視的訪問許可權。(是針對表或檢視而言的)。
使用者可以直接訪問自己方案的物件。但是如果要訪問別的方案的物件,則必須具有物件的許可權。比如
smith使用者要訪問scott.emp
表(scott:方案,emp:表),則必須在scott.emp表上具有物件的許可權。
常用的有
增刪改查,改(資料的修改和表結構的修改),索引,執行(execute),
all等
grant create session to zhangsan;//授予zhangsan使用者建立session的許可權,即登陸許可權
grant unlimited session to zhangsan;//授予zhangsan使用者使用表空間的許可權
grant create table to zhangsan;//授予建立表的許可權
grante drop table to zhangsan;//授予刪除表的許可權
grant insert table to zhangsan;//插入表的許可權
grant update table to zhangsan;//修改表的許可權
grant all to public;//這條比較重要,授予所有許可權(all)給所有使用者(public)
當然了也包括
with
授權,許可權**操作。
剛開始的時候也沒看
oracle
的任何語言就去操作了,感覺無從下手,很難學麼。但是當檢視了
oracle
的基本操作後,與
sql
的命令大相徑庭。只是多了一些命令授權,也是很有意思的。只是在
sql中我們沒有這樣寫。因為
sql中帶有客戶端替我們做了這些
工作。所以一些常用的命令我們還是親自多多寫寫吧。剛開始熟悉環境還是很有用處的。
oracle許可權設定步驟
dba使用者 授予zhangsan使用者建立session的許可權,即登陸許可權 grant create session to zhangsan 授予zhangsan使用者使用表空間的許可權 grant unlimited tablespace to zhangsan 授予建立表的許可權 gran...
oracle 新增使用者,設定許可權 Oracle
每個oracle使用者都有乙個名字和口令,並擁有一些由其建立的表 檢視和其他資源。oracle角色 role 就是一組許可權 privilege 或者是每個使用者根據其狀態和條件所需的訪問型別 使用者可以給角色授予或賦予指定的許可權,然後將角色賦給相應的使用者。乙個使用者也可以直接給其他使用者授權。...
oracle 新增使用者,設定許可權 Oracle
每個oracle使用者都有乙個名字和口令,並擁有一些由其建立的表 檢視和其他資源。oracle角色 role 就是一組許可權 privilege 或者是每個使用者根據其狀態和條件所需的訪問型別 使用者可以給角色授予或賦予指定的許可權,然後將角色賦給相應的使用者。乙個使用者也可以直接給其他使用者授權。...