Oracle基本安全之使用者 角色和許可權操作

2021-07-24 20:02:58 字數 2814 閱讀 4776

學習oracle離不開使用者、角色和許可權這三個概念,下面首先解釋一下這三個概念:

使用者:對資料庫的訪問需要以適當的身份通過驗證,這就是使用者的作用;每個oracle使用者都有自己的使用者名稱和密碼,並且擁有他們所建立的任意表、檢視和其他資源,需要注意的是新建立的使用者連最基本的訪問登入oracle的許可權都沒有,所以後續需要授予不同的許可權和角色來達成不同的操作目的;

許可權:許可權一般分為系統許可權和物件許可權,

系統許可權可以通俗地理解為將資料庫物件從無到有或從有到無的建立操作,比如說建立和刪除表、檢視、儲存過程、session等這些操作都可以認為是系統許可權;物件許可權賦予了你在不同的資料庫物件上操作的能力,比如delete許可權允許你對錶和檢視刪除行,selete許可權允許你對錶、檢視、序列等進行查詢操作!至於系統許可權和物件許可權分別有哪些,具體請參照oracle官網,這裡不再詳細解釋!

角色:如果多個新建使用者需要後續賦予10不等的不同許可權,一般方法是需要將10個不等的許可權分別列出來進行授予,不但麻煩而且重用性不高,角色的出現就是為了解決這個問題。oracle角色是一組許可權的集合。正常情況下我們可以授予角色一些許可權,然後將角色分配給適當的使用者;

概念大致介紹如上,下面依次開始介紹具體操作:

一、使用者操作,包括建立新使用者、密碼變更以及失效等

oracle系統本身自帶了好多已經建立的使用者,其中包括system和sys使用者,sys使用者包含用來管理資料庫的核心內部表,而system用來包含其他的表和檢視。在此,我們可以使用system使用者來進行使用者操作!

-- 建立了乙個user01的賬戶,密碼為root

create user user01 identified by root;

-- 更改user01的密碼,改為root1

alter user user01 identified by root1;

需要注意的是雖然上述過程中建立了乙個賬戶,並不代表該賬戶可以直接登入到oracle中,除非它具有create session的許可權;

再說說密碼的修改,除了dba使用者可以使用alter user的命令修改密碼之外,還可以使用password命令來修改密碼,普通使用者只能用來修改自己的密碼,管理員可以修改任意使用者的密碼,下面首先演示user01使用者如何修改自己的密碼,從root修改為root1:

接下來演示管理員sys修改user01使用者的密碼,從root1修改為root:

密碼過期與鎖定機制:比如當乙個使用者5次登陸失敗後,該賬戶即變為鎖定狀態,無法繼續使用,比如強制每30天修改一次密碼等,這些操作都可以通過配置檔案來實現。你需要做的就是編寫乙個配置檔案,然後指定要修改配置的屬性,最後跟使用者相關聯,這樣就給使用者增加了這個功能,如下:

首先建立乙個profile配置檔案,**如下:

第2行表示登入失敗次數5次,即五次登入失敗則鎖定賬戶;第3行表示一旦賬戶被鎖定,被鎖定的時間(以天為單位),一天過後,賬戶自動解鎖;第4行表示密碼過期的時間,也是以天為單位,即30天後,則必須在下一次登入時更新密碼;

這樣一來,剛剛的配置就在這個user01賬戶上生效,5次登入失敗後,賬戶即被鎖定,如下:

可以看到賬戶被鎖定後,要麼採用1天後自動解鎖,要麼dba使用alter命令解鎖賬號;

過期賬戶與鎖定賬戶不同,鎖定的賬戶可在一段時間後自動解鎖,但是過期的賬戶需要有dba手動設定才會生效,下面演示乙個例子,用dba賬戶給user01過期,然後user01登入,最後改密碼的過程:

密碼的重用限制

oracle中為了防止密碼被重複使用可以在配置檔案中配置兩個引數:password_reuse_max和password_reuse_time,需要注意的是這兩個屬性如果設定其中乙個另外乙個一定要設定為unlimited

二、許可權角色的授予(grant)與剝奪(revoke)

grant命令的通用格式如下:

可以將任何許可權、角色賦予給其他使用者和其他角色,甚至也可以通過with admin option子句保證被授予者將許可權或角色授予給其他使用者或角色,all的作用是授予使用者或角色除了部門系統許可權以外的所有許可權;

revoke命令的作用是撤銷已經授予的許可權,通用格式如下:

具有dba角色的賬戶可以撤銷任何人許可權或角色,這就是為什麼除了幾個dba角色的賬戶外,一般不授予dba的原因;

好了,先介紹這麼多,後續會繼續針對這塊新增新內容!!

ORACLE學習筆記之使用者 許可權和角色

使用者 1 建立使用者 2 改變使用者在表空間上的配額 3 刪除使用者 4 使用者的安全控制域 5 概要檔案 資源限制的概要檔案和口令限制的概要檔案 6 利用概要檔案進行資源管理 資源限制的設定 7 口令管理 口令函式 8 修改和刪除概要檔案 許可權 1 分類 系統許可權和物件許可權 2 系統許可權...

oracle之使用者

命令都是在命令列視窗執行 建立使用者 1 登陸管理員使用者 sqlplus system 密碼 sqlplus system briup 注意不要以分號結尾 2 建立使用者 create user 使用者名稱 identified by 密碼 create user jd2001 2005 iden...

ORACLE常用命令之使用者許可權角色

四 使用者管理 1.create a user create user kong identified by kong default tablespace users temporary tablespace temp 2 alter user alter user kong quota 100m...