Ubuntu中Oracle用户如何管理

在Ubuntu中管理Oracle用户,主要涉及操作系统用户和数据库用户两方面,具体操作如下:

一、操作系统用户管理

  1. 创建用户并添加到指定组

    sudo useradd -m -g oinstall -G dba oracle_user  # 主组oinstall,附加组dba  
    sudo passwd oracle_user  # 设置密码  
    
    • oinstall:Oracle软件安装组,dba:数据库管理员组。
  2. 设置用户权限与资源限制

    sudo visudo  # 编辑sudoers文件,赋予用户执行特定命令的权限(如启动监听器)  
    sudo chown -R oracle_user:oinstall /u01/app/oracle  # 设置Oracle目录所属权  
    

二、Oracle数据库用户管理

  1. 创建数据库用户
    sysdba身份登录数据库(需先切换到Oracle用户):

    su - oracle  
    sqlplus / as sysdba  
    CREATE USER new_user IDENTIFIED BY password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;  
    
    • 可指定默认表空间、临时表空间及配额。
  2. 分配权限

    • 系统权限(如创建会话、表):
      GRANT CREATE SESSION, CREATE TABLE TO new_user;  
      
    • 对象权限(如对特定表的操作):
      GRANT SELECT, UPDATE ON schema.table TO new_user;  
      
    • 角色管理:创建角色并批量授予权限,再赋予用户角色。
      CREATE ROLE hr_role;  
      GRANT SELECT ON employees TO hr_role;  
      GRANT hr_role TO new_user;  
      
  3. 撤销权限与删除用户

    REVOKE SELECT ON schema.table FROM new_user;  -- 撤销对象权限  
    DROP USER new_user CASCADE;  -- 删除用户(级联删除其对象)  
    
  4. 查看用户权限

    SELECT * FROM user_sys_privs;  -- 系统权限  
    SELECT * FROM user_tab_privs;  -- 对象权限  
    SELECT * FROM user_role_privs;  -- 角色权限  
    

三、认证方式配置

  • 密码认证:创建用户时设置密码,默认方式。
  • 操作系统认证:通过/etc/oratab配置,允许操作系统用户直接登录数据库。
  • 强认证:使用Kerberos/SSL等,需额外配置。

四、注意事项

  • 操作需在oracle用户下执行,或通过sudo获取权限。
  • 遵循最小权限原则,仅授予必要权限,避免安全风险。
  • 定期审计用户权限,删除冗余账户。

参考来源: