限制用户从OS级别使用'conn / as sysdba'

时间:2017-09-22 16:24:39

标签: linux oracle security ubuntu sysdba

可以允许在操作系统级别使用sqlplus到某个用户或组,但是将“sqlplus / as sysdba”的使用限制在同一个用户组中吗?

2 个答案:

答案 0 :(得分:1)

通常,分配了Oracle用户名的任何人都可以使用SQLPLus,但只有Oracle所有者OS组的成员才能使用sqlplus作为sysdba而无需密码。此权限通常分配给OS组DBA,但可以不同。我曾经在一个系统上工作,DBA组的成员无法使用sysdba作为sysdba连接,因为Oracle仅在oinstall中设置。这是在安装时配置的。问题的答案是,否。如果您将它们分配给特权组,那么他们就有权利。

答案 1 :(得分:0)

如果我正确理解了您的问题,则问题的答案为,只要该用户不属于dba组。默认情况下,执行标志设置为“其他”,因此任何用户都可以运行sqlplus并使用用户名/密码进行连接。您甚至不必专门设置新用户或组,只需确保该用户不属于dba组:

sqlplus的默认权限为x设置了e others执行标记:

$ cd /opt/oracle/product/12.2.0.1/dbhome_1/bin
$ ls -al sqlplus
-rwxr-xr-x 1 oracle oinstall 25168 Sep 22 16:48 sqlplus

用户gerald不属于dba群组,因此不允许通过sqlplus / as sysdba进行连接:

$ id
uid=54322(gerald) gid=54331(gerald) groups=54331(gerald)

$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Sat Sep 23 04:22:33 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name:

但是,用户gerald仍可以sqlplus运行并通过用户名/密码连接:

$ id
uid=54322(gerald) gid=54331(gerald) groups=54331(gerald)

$ sqlplus sys/gerald as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Sat Sep 23 04:27:58 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

显然,如果您根本不想授予用户SYS访问权限,请不要与他们共享SYS密码!