首页主机资讯Ubuntu Oracle用户权限如何设置

Ubuntu Oracle用户权限如何设置

时间2025-10-02 02:43:03发布访客分类主机资讯浏览1034
导读:Ubuntu系统下Oracle用户权限设置指南 一、操作系统层面:创建Oracle专用用户及组 在Ubuntu上运行Oracle数据库前,需先创建专用的用户组和用户,用于隔离权限并提升安全性。 创建用户组: 使用groupadd命令创建o...

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命令(如sqlpluslsnrctl)能正常运行。

  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位,包含大小写字母、数字和特殊字符),并定期更换。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Oracle用户权限如何设置
本文地址: https://pptw.com/jishu/716567.html
Ubuntu Oracle运行环境如何搭建 Ubuntu Oracle内存设置多少合适

游客 回复需填写必要信息