溫馨提示×

Ubuntu Oracle用戶權限如何設置

小樊
54
2025-09-25 14:08:45
欄目: 云計算

Ubuntu系統下Oracle用戶權限設置指南

一、操作系統層面:創建Oracle專用用戶及組

在Ubuntu上運行Oracle數據庫前,需先創建專用的用戶組用戶,用于隔離權限并提升安全性。

  1. 創建用戶組
    使用groupadd命令創建oinstall(Oracle安裝組,負責軟件安裝)和dba(數據庫管理員組,負責數據庫管理)兩個核心組:
    sudo groupadd oinstall
    sudo groupadd dba
    
  2. 創建Oracle用戶
    使用useradd命令創建oracle用戶,將其加入oinstall(主組)和dba(附加組),并設置初始密碼:
    sudo useradd -g oinstall -G dba oracle
    sudo passwd oracle  # 設置強密碼(如包含大小寫字母、數字和特殊字符)
    

二、操作系統層面:設置Oracle目錄權限

Oracle數據庫需要特定目錄存儲軟件、數據文件等,需正確配置所有權權限,避免未授權訪問。

  1. 創建核心目錄
    新建Oracle軟件安裝目錄(如/u01/app/oracle/product/19.0.0/dbhome_1)和數據目錄(如/u01/app/oracle/oradata):
    sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
    sudo mkdir -p /u01/app/oracle/oradata
    
  2. 設置目錄所有權
    將軟件目錄的所有權賦予oracle:oinstall(Oracle用戶+安裝組),數據目錄的所有權賦予oracle:dba(Oracle用戶+管理員組):
    sudo chown -R oracle:oinstall /u01/app/oracle/product
    sudo chown -R oracle:dba /u01/app/oracle/oradata
    
  3. 設置目錄權限
    軟件目錄設置為750(所有者可讀/寫/執行,組可讀/執行,其他用戶無權限),數據目錄設置為770(所有者與組可讀/寫/執行,其他用戶無權限):
    sudo chmod -R 750 /u01/app/oracle/product
    sudo chmod -R 770 /u01/app/oracle/oradata
    

三、Oracle數據庫層面:用戶權限管理

通過SQL*Plus以SYSDBA身份登錄,完成Oracle數據庫用戶的創建、權限分配驗證。

  1. 登錄數據庫
    切換至oracle用戶,使用sqlplusSYSDBA身份連接:
    su - oracle
    sqlplus / as sysdba
    
  2. 創建數據庫用戶
    使用CREATE USER命令創建用戶(如hr_user),設置密碼及默認表空間(如USERS)、臨時表空間(如TEMP),并分配初始存儲配額(如10MB):
    CREATE USER hr_user IDENTIFIED BY HrPass123 
    DEFAULT TABLESPACE users 
    TEMPORARY TABLESPACE temp 
    QUOTA 10M ON users;
    
  3. 分配系統權限
    使用GRANT命令授予用戶必要的系統權限(如CREATE SESSION允許登錄,CREATE TABLE允許創建表):
    GRANT CREATE SESSION, CREATE TABLE TO hr_user;
    
  4. 分配對象權限
    授予用戶對特定數據庫對象(如employees表)的操作權限(如SELECT查詢、UPDATE更新):
    GRANT SELECT, UPDATE ON scott.employees TO hr_user;
    
  5. 創建與管理角色
    • 創建角色:將常用權限組合成角色(如hr_manager),簡化權限分配:
      CREATE ROLE hr_manager;
      GRANT CREATE JOB, DELETE ANY TABLE TO hr_manager;
      
    • 授予角色給用戶:將角色賦予目標用戶(如hr_user):
      GRANT hr_manager TO hr_user;
      
  6. 撤銷權限
    使用REVOKE命令撤銷用戶或角色的權限(如撤銷hr_userSELECT權限):
    REVOKE SELECT ON scott.employees FROM hr_user;
    

四、操作系統層面:Oracle用戶環境變量配置

oracle用戶配置環境變量,確保Oracle命令(如sqlplus、lsnrctl)能正常運行。

  1. 編輯.bash_profile文件
    切換至oracle用戶,使用文本編輯器(如nano)修改~/.bash_profile
    su - oracle
    nano ~/.bash_profile
    
  2. 添加環境變量
    在文件末尾添加以下內容(根據實際Oracle安裝路徑調整):
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
    export ORACLE_SID=orcl
    export PATH=$PATH:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
  3. 使配置生效
    執行source命令使環境變量立即生效:
    source ~/.bash_profile
    

五、權限管理最佳實踐

  1. 最小權限原則:僅授予用戶完成工作所需的最低權限(如普通用戶無需DROP TABLE權限)。
  2. 定期審計權限:使用SELECT * FROM USER_SYS_PRIVS;(查看系統權限)、SELECT * FROM USER_TAB_PRIVS;(查看對象權限)定期檢查權限分配情況,及時回收冗余權限。
  3. 分離職責:將數據庫安裝(oinstall組)、管理(dba組)、應用訪問(普通用戶組)權限分離,降低安全風險。
  4. 強化密碼策略:要求Oracle用戶設置復雜密碼(長度≥8位,包含大小寫字母、數字和特殊字符),并定期更換。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女