将用户从操作系统级别限制使用“ conn /as sysdba”



可以允许在某个用户或组中使用SQLPLUS在OS级别上使用SQLPLU,但将使用" SQLPLUS/AS SYSDBA"限制为同一用户O组?

通常,分配给他们的Oracle用户名的任何人都可以使用SQLPlus,但是只有Oracle所有者OS组的成员可以将SQLPLUS作为SYSDBA,而无需密码。此特权通常分配给OS组DBA,但可能会有所不同。我曾在一个系统上工作,DBA组的成员无法使用ASSYSDBA连接,因为Oracle仅在Oinstall中设置为Oracle。这是在安装时配置的。按要求的问题的答案是,如果您将其分配给特权组,那么他们就有特权。

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

sqlplus的默认权限设置了others的E x ECUTION标志:

$ 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密码!

相关内容

  • 没有找到相关文章

最新更新