在Ubuntu上设置Oracle用户权限需结合系统用户管理、数据库权限分配及认证配置,核心步骤如下:
dba、oinstall):sudo groupadd dba
sudo groupadd oinstall
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle # 设置密码
dba组以获取默认权限。sudo mkdir -p /home/oracle/app/oracle
sudo chown -R oracle:dba /home/oracle/app/oracle
sudo chmod -R 755 /home/oracle/app/oracle
oradata、oraInventory)需严格限制权限。创建用户并授权:
CREATE USER test_user IDENTIFIED BY "password";
GRANT CONNECT, RESOURCE, DBA TO test_user; -- 授予基本权限
CONNECT:允许登录;RESOURCE:允许创建对象;DBA:超级管理员权限。角色管理:
CREATE ROLE custom_role;
GRANT SELECT ON scott.emp TO custom_role;
GRANT custom_role TO test_user; -- 通过角色批量授权
GRANT SELECT, INSERT, UPDATE ON scott.emp TO test_user;
REVOKE DELETE ON scott.emp FROM test_user;
密码文件认证(远程访问)
sudo su - oracle
orapwd file=$ORACLE_HOME/dbs/orapworcl password="sys_password" entries=10
orapworcl为密码文件名,entries指定最大特权用户数。echo "remote_login_passwordfile=EXCLUSIVE" >> $ORACLE_HOME/network/admin/sqlnet.ora
操作系统认证(本地访问)
dba组,登录时使用sqlplus / as sysdba。-- 查看系统权限
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'TEST_USER';
-- 查看对象权限
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'TEST_USER';
V$PWFILE_USERS确认特权用户列表。audit命令记录权限使用情况。DBA权限。ufw)限制端口(默认1521)。参考来源: