相關術語
數據庫用戶賬戶:用來管理數據庫對象的全部權和訪問權限
口令: Oracle 數據庫使用的驗證手段
權限:執行特定類型的SQL 語句或訪問其餘用戶的對象的權利
角色:由相關權限組成的已命名組,可將其授予給用戶或其它角色。
概要文件:一組已命名的針對數據庫用法和實例資源的資源限制條件
限額:表空間中容許的空間容量。
用戶
數據庫用戶賬戶
惟一的用戶名:不超過30個字節,不包含特殊符號,以字母開頭
驗證方法:最多見爲口令
默認表空間:若是用戶未指定其它表空間,則可在這個表空間中建立對象。(不等於說有建立對象的權限,須要單獨受權)
臨時表空間:用戶可在其中建立臨時對象(如排序和臨時表)的表空間。
用戶概要文件:分配給用戶的一組資源與口令的限制。
使用者組:由資源管理器使用
鎖定狀態:用戶只能訪問「未鎖定」賬戶
預約義帳戶
s
ys
&system
sys
授予有 DBA 角色
具備 ADMIN OPTION 的全部權限(with admin option 用於系統權限受權,給一個用戶授予系統權限帶上with admin option 時,此用戶可把此係統權限授予其餘用戶或角色,但收回這個用戶的系統權限時,這個用戶已經授予其餘用戶或角色的此係統權限不會因傳播無效)
執行啓動、關閉和某些維護命令時所必需的賬戶(SYSDBA,SYSOPER)
擁有數據字典(數據字典視圖和動態性能視圖的區別)
擁有自動工做量資料檔案庫 (AWR)
system
授予有 DBA 角色
沒有sysdba權限
sys和sysdba的區別:簡單的說sys是一個角色,sysdba是一個權限
使用
EM
建立用戶:選擇「Administration > Schema > Users & Privileges > Users(管理 > 方案 > 用戶和權限 > 用戶)」 ,而後單擊「Create(建立)」按鈕。
驗證用戶
口令:oracle database驗證
外部:操做系統認證
全局
:
管理員驗證
操做系統安全性
DBA 必須具備建立或刪除文件的操做系統權限
普通數據庫用戶不該具備建立或刪除數據庫文件的操做系統權限
管理員安全性
口令文件驗證會按名稱記錄 DBA 用戶
操做系統驗證並不記錄具體用戶
對於 SYSDBA 和 SYSOPER,操做系統驗證優先於口令文件驗證
權限
系統權限::每種系統權限都容許用戶執行一種或一類特定的數據庫操做。系統權限可由管理員授予,或者由能夠顯式授予管理權限的用戶授予
,
授予管理員的權限(grant create table to hr)
RESTRICTED SESSION:在受限模式下打開的數據庫也能夠登陸
SYSDBA和 SYSOPER:使用這兩個權限能夠在數據庫中執行關閉、啓動、恢復及其它管理任務。使用 SYSOPER 用戶可執行基本操做任務,但不能查看用戶數據。
DROP ANY 對象:使用DROP ANY 權限用戶可刪除其餘用戶擁有的對象。
CREATE、MANAGE、DROP 和 ALTER TABLESPACE
CREATE ANY DIRECTORY:使用Oracle 數據庫開發人員能夠在 PL/SQL 內調用外部代碼
。
GRANT ANY OBJECT PRIVILEGE:使用此權限,您能夠授予對他人所擁有的對象的對象權限。
ALTER DATABASE和 ALTER SYSTEM
撤銷權限(revoke create table from hr)(撤銷系統權限時不會產生級聯效應)
對象權限:對象權限容許用戶對特定對象執行一個特定的操做。在沒有特定權限的狀況下,用戶只能訪問本身擁有的對象。對象權限能夠由對象的全部者或管理員授予,也能夠由爲其顯式授予了對象授予權限的用戶授予。
授予對象權限
選擇對象類型
選擇對象
選擇權限
撤銷對象權限(會產生級聯效應)
角色
做用
:
簡化權限管理
動態地管理權限:若是修改了與某個角色關聯的權限,則授予該角色的全部用戶都會當即自動得到修改過的權限。
有選擇性地應用權限:啓用或禁用角色能夠暫時打開或關閉權限。
預約義角色
建立角色:選擇「Administration > Schema > Users & Privileges > Roles(管理 > 方案 > 用戶和權限 > 角色)
保護角色:
角色可能不是默認的:SET ROLE vacationdba;
能夠經過驗證來保護角色。
經過編程來保護角色:CREATE ROLE secure_application_role IDENTIFIED USING <security_procedure_name>;
建立用戶的語法:
create user 帳戶名
identified by 密碼
password expire
account unlock
default tablespace 表空間名
temporary tablespace 臨時表空間名
quota 大小 on tablespace 表空間名
profile default 概要文件
概要文件(指定時間內一惡搞用戶只能有一個概要文件,修改概要文件則下次登陸時生效)
定義:指一組已命名的針對數據庫用法和實例資源的資源限制條件
做用:控制資源佔用
;
管理賬戶狀態和口令失效
口令安全性
賬戶鎖定:若是用戶的登陸失敗次數達到了指定次數,系統會在設置的一段時間內自動鎖定賬戶。
FAILED_LOGIN_ATTEMPTS 參數指定了在鎖定賬戶前失敗的嘗試登陸次數。
PASSWORD_LOCK_TIME 參數指定了嘗試登陸失敗次數達到指定次數後賬戶的鎖定天數。
口令過時和失效:使用戶口令具備生存期,口令在今生存期以後失效,必須進行更改。
PASSWORD_LIFE_TIME 參數指定了口令的生存期(以天爲單位),此時間以後,口令會失效。
PASSWORD_GRACE_TIME 參數指定了口令失效後首次成功登陸以後,更改口令的寬限期(以天爲單位)。
口令歷史記錄:檢查新口令以確保在指定時間內或者在指定口令更改次數內不重複使用口令。
PASSWORD_REUSE_TIME:指定用戶不能在指定天數內重複使用口令
PASSWORD_REUSE_MAX:指定在可重複使用當前口令以前須要更改口令的次數
這兩個參數是互相排斥的,所以,若是其中一個參數值沒有被設置 UNLIMITED,則另外一個參數必須設置爲 UNLIMITED
口令複雜性驗證:對口令進行復雜性檢查可驗證口令是否符合特定的規則。
限額
無限制:容許用戶最大限度地使用表空間中的可用空間
值:用戶可使用的空間,以千字節或兆字節爲單位。
UNLIMITED TABLESPACE 系統權限:此係統權限會覆蓋全部單個的表空間限額,並向用戶提供全部表空間(包括 SYSTEM和 SYSAUX)的無限制限額。
什麼時候補充限額?使用 PURGE子句刪除了用戶擁有的對象或者自動清除了回收站中的對象時會補充限額。
案例
:
建立一個外部認證帳戶mary
1、
查看系統默認外部認證帳戶的前綴:
show parameter os_authent_prefix; 查看值:普通爲ops$
2
、
建立一個操做系統帳戶
useradd mary
passwd mary
usermod -g ointsll
3、
建立數據帳戶,給鏈接權限
create user ops$mary IDENTIFIED EXTERNALLY ;
grant create session to ops$mary
4、
mary是遠程鏈接,查看系統是否容許遠程鏈接
remote_os_authent 值false
,
不容許
(
默認
);
值TRUE
,
容許
。
alter system set remote_os_authent=true scope=spfile
5
、
測試 使用 mary登陸操做系統
su - mary
sqlplus /@orcl