[轉]Oracle DB 用戶

• 建立和管理數據庫用戶賬戶:
– 驗證用戶
– 分配默認存儲區(表空間)
 
 
 
一、數據庫用戶賬戶
 
 
要訪問數據庫,用戶必須指定有效的數據庫用戶賬戶,並且還要根據該用戶賬戶的要求成功經過驗證。 每一個數據庫用戶都有一個惟一的數據庫賬戶
Oracle 建議採用這種作法,從而避免潛在的安全漏洞,併爲特定的審計活動提供有意義的數據。可是,有時候若干用戶會共享一個公用數據庫賬戶。
在這些罕見的狀況下,操做系統和應用程序必須爲數據庫提供足夠的安全性。
 
 
每一個用戶賬戶都包括如下項:
• 惟一的用戶名:用戶名不能超過30 個字節,不能包含特殊字符,並且必須以字母開頭。
 
• 驗證方法:最多見的驗證方法是口令,可是Oracle Database 11g支持其它多種驗證方法,包括生物統計學驗證、證書驗證和標記驗證。
 
• 默認表空間:若是用戶未指定其它表空間,則可在這個位置建立對象。
請注意,具備默認表空間並不意味着用戶在該表空間具備建立對象的權限,也不意味着用戶在該表空間中具備用於建立對象的空間限額。
這兩項須要另外單獨受權。
 
• 臨時表空間:這是實例表明用戶建立臨時對象(如排序和臨時表)的位置。臨時表空間沒有限額。
 
• 用戶概要文件:分配給用戶的一組資源與口令的限制。
 
• 初始使用者組:由資源管理器使用。
 
• 賬戶狀態:用戶只可訪問「開放」賬戶。account_status多是「鎖定」和「失效」的各類組合。
 
注:數據庫用戶不必定是人員。常見的做法是建立一個擁有特定應用程序的數據庫對象的用戶,例如HR。數據庫用戶能夠是設備、應用程序或只是一種出於安全目的而對數據庫對象進行分組的方法。
數據庫用戶不須要具備我的身份信息。
 
 
二、預約義賬戶:SYS和SYSTEM
• SYS賬戶:
– 被授予了DBA 角色
– 具備ADMIN OPTION的全部權限
– 執行啓動、關閉和某些維護命令時須要使用的賬戶
– 擁有數據字典
– 擁有自動工做量資料檔案庫(AWR:Automatic Workload Repository)
• SYSTEM賬戶被授予DBA 角色。
• 不在例行操做(routine operations)中使用這兩個賬戶。
 
 
默認狀況下,SYS和SYSTEM賬戶被授予了數據庫管理員(DBA) 角色。
此外, SYS賬戶還具備ADMIN OPTION的全部權限,並且擁有數據字典。
要鏈接到SYS賬戶,對於數據庫實例,必須使用AS SYSDBA子句,對於Automatic Storage Management (ASM) 實例,必須使用AS SYSASM子句。
被授予了SYSDBA權限的任何用戶都可經過使用AS SYSDBA子句鏈接到SYS賬戶。 只有被授予了SYSDBA、SYSOPER或SYSASM權限的「受權」用戶才能啓動或關閉實例。
默認狀況下,SYSTEM賬戶被授予了DBA角色,而不是SYSDBA權限。
最佳方案提示:若是應用最少權限原則,則不在例行操做中使用這些賬戶。須要DBA 權限的用戶具備被授予了所需權限的獨立賬戶。例如,Jim 有一個名爲jim的低權限賬戶及一個名爲jim_dba的受權賬戶。使用此方法可應用最少權限原則,不須要共享賬戶,並且可審計各項操做。
SYS和SYSTEM賬戶是數據庫所必需的賬戶,不能將其刪除。
 
 
三、建立用戶
 
選擇「Server > Users(服務器> 用戶)」,而後單擊「Create(建立)」按鈕。
也能夠簡單實用sql來建立用戶:create user test identified by test account unlock;
 
 
 
 
 
在Enterprise Manager 的「Users(用戶)」頁中,能夠管理可以訪問當前數據庫的數據庫用戶的列表。使用此頁可建立、刪除和修改用戶的設置。
 
要建立數據庫用戶,請執行如下操做:
1.在Enterprise Manager Database Control 中,單擊「Server(服務器)」選項卡,而後在「Security(安全)」部分中單擊「Users(用戶)」。
2.單擊「Create(建立)」按鈕。
提供所需的信息。必需項帶有星號(*) 標記,如「Name(名稱)」。
 
 
每個用戶能夠分配默認表空間和臨時表空間。若是用戶在建立對象時未指定表空間,則將在分配給對象全部者的默認表空間中建立對象。這樣,即可以控制用戶對象的
建立位置。
若是未選擇默認表空間,則使用系統定義的默認永久表空間。對於臨時表空間也是如此:若是未指定臨時表空間,則使用系統定義的臨時表空間。
 
 
四、驗證用戶
 
• 口令
• 外部驗證
• 全局驗證
 
 
「驗證」是指對要使用數據、資源或應用程序的人員或對象(用戶、設備或其它實體)的身份進行驗證。經過對該身份進行驗證可創建一種信任關係,以進行進一步的交互。經過驗證可將訪問和操做與特定的身份聯繫起來,從而加強安全性。完成驗證後,受權進程會容許或限制該實體可以執行的訪問和操做的級別。
建立用戶時,必須肯定要使用的驗證方法,之後可修改此方法。
 
 
口令:又稱爲Oracle DB 驗證。建立的每個用戶都有一個關聯口令,用戶嘗試創建鏈接時,必須提供這個口令。設置口令時,可使該口令當即失效, 這會強制用戶在首次登陸後更改口令。若是決定要使用戶口令失效,請確保用戶可以更改口令。有些應用程序不具有此功能。默認狀況下,在Oracle Database 11g中建立的 全部口令都區分大小寫。這些口令還能夠包含多字節字符,但 長度被限制爲30 字節。在更改以前,在升級到Oracle Database 11g的數據庫中建立的每一個口令仍然不區分大小寫。在網絡(客戶機/服務器和服務器/服務器)鏈接期間,系統老是先使用高級加密標準(AES) 算法以自動且透明的方式對口令進行加密,而後再經過網絡發送這些口令。
 
數據庫驗證,使用sql語言以下:
sys@TEST0924> create user aaron identified  by soccer
2 default tablespace users
3 temporary tablespace temp
4 account unlock
5 /
 
User created.
 
 
外部驗證:這是使用數據庫外部的方法( 操做系統、Kerberos 或Radius)執行的驗證。Kerberos或Radius 須要使用高級安全選件。用戶能夠在不指定用戶名或口令的狀況下鏈接到Oracle DB。藉助於執行嚴格驗證的高級安全選件,系統能夠經過使用生物統計學、x509 證書和標記設備來識別用戶。使用外部驗證時,數據庫依賴基礎操做系統、網絡驗證服務或外部驗證服務來限制對數據庫賬戶的訪問。對於此類登陸不會使用數據庫口令。
 
若是操做系統或網絡服務容許的話,可使用外部驗證來驗證用戶。 若是使用操做系統驗證,請設置OS_AUTHENT_PREFIX初始化參數,並在Oracle 用戶名中使用前綴。OS_AUTHENT_PREFIX參數定義了一個前綴,Oracle DB 會在每一個用戶的操做系統賬戶名以前添加此前綴。爲了實現與Oracle 軟件早期版本的向後兼容,此參數的默認值爲OPS$。
 
 
sys@TEST0924> show parameter OS_AUTHENT_PREFIX
 
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix string ops$
 
 
用戶嘗試創建鏈接時,Oracle DB 會將帶前綴的用戶名與數據庫中的Oracle 用戶名進行比較。例如,假定OS_AUTHENT_PREFIX設置以下:
OS_AUTHENT_PREFIX=OPS$ ,若是某個用戶的操做系統賬戶名爲tsmith,該用戶須要鏈接到Oracle DB 而且已由操做系統進行驗證,則Oracle DB 會檢查是否存在對應的數據庫用戶OPS$tsmith,若是存在這樣的用戶,則容許該用戶創建鏈接。在對用戶(操做系統已對其進行了驗證)的全部引用中必須包含OPS$tsmith中顯示的前綴。
注:在某些操做系統中,OS_AUTHENT_PREFIX初始化參數的文本是區分大小寫的。
 
 
操做系統驗證,使用SQL語言以下:
sys@TEST0924> create user aaron1 identified  externally
2 default tablespace users
3 temporary tablespace temp
4 account unlock
5 /
 
User created.
 
 
全局驗證:使用Oracle 高級安全選件時,可以使用Oracle Internet Directory 經過全局驗證來識別用戶。
 
 
 
五、管理員驗證
操做系統安全性:
• DBA 必須具備建立或刪除文件的操做系統權限。
• 普通數據庫用戶不該具備建立或刪除數據庫文件的操做系統權限。
 
管理員安全性:
• 對於SYSDBA、SYSOPER和SYSASM鏈接:
– 使用口令文件和嚴格驗證方法時,按名稱審計DBA 用戶
– 使用操做系統驗證時,審計操做系統賬戶名
– 對於受權用戶,操做系統驗證優先於口令文件驗證
– 口令文件使用區分大小寫的口令
 
 
操做系統安全性:在UNIX 和Linux 中,DBA 默認狀況下屬於install操做系統組,該組具備建立和刪除數據庫文件所需的權限。
管理員安全性:只有在使用口令文件或操做系統權限進行驗證後,才容許受權用戶SYSDBA、SYSOPER和SYSASM創建鏈接。
若是使用操做系統驗證,則數據庫不使用提供的用戶名和口令。
 
當口令文件不存在,或者該文件中不存在提供的用戶名和口令,或者未提供用戶名和口令時,將使用操做系統驗證。
默認狀況下,Oracle Database 11g中的口令文件使用區分大小寫的口令。
 
可是,若是使用口令文件成功完成了驗證,則使用用戶名記錄鏈接。若是使用操做系統成功完成了驗證,則表示這是一個CONNECT /鏈接,這種鏈接不記錄具體用戶。
 
注: 操做系統驗證優先於口令文件驗證。具體說來,若是您是操做系統中的OSDBA或OSOPER組的成員,並且以SYSDBA、SYSOPER或SYSASM身份進行鏈接,則會使用關聯的管理權限爲你創建鏈接,無論你指定的用戶名和口令是什麼。
在Oracle Database 11g中,受權用戶可使用嚴格驗證方法:Kerberos、SSL 或目錄驗證(若是可使用高級安全選件)。
 
 
六、解除用戶賬戶的鎖定並重置口令
 
 
 
 
在安裝和建立數據庫的過程當中,能夠對Oracle 提供的多個數據庫用戶賬戶解除鎖定,並對其進行重置。若是在此期間未選擇解除對用戶賬戶的鎖定,則能夠在「Users(用戶)」頁上選擇用戶,從「Actions(操做)」列表中選擇「Unlock User(解除用戶的鎖定)」,而後單擊「Go(執行)」,以此解除對用戶的鎖定。這並不會更改口令。若是在解除對用戶的鎖定時口令已失效,則在編輯用戶並更改口令以前,口令將一直處於失效狀態。
 
或者使用sql語言:
sys@TEST0924> alter user bi account unlock;
 
User altered.
 
 
要解除對用戶的鎖定並重置口令,請在「Edit Users(編輯用戶)」頁上執行下列步驟:
 
 
1.在「Enter Password(輸入口令)」和「Confirm Password(確認口令)」字段中輸入新口令。
2.選中「Unlocked(解除鎖定)」複選框。
3.單擊「Apply(應用)」,重置口令並解除對用戶賬戶的鎖定。
 
 
或者使用sql語言:
sys@TEST0924> alter user bi identified by bi account unlock;
 
User altered.
 
來源:http://blog.csdn.net/rlhua/article/details/12272827
相關文章
相關標籤/搜索