2017-09-22 26 views
0

可以允许在某个用户或组使用操作系统级别的sqlplus,但限制将“sqlplus/as sysdba”用于同一用户o组?限制用户使用来自操作系统的'conn/as sysdba'级别

+0

你应该从oradba组中删除他们 –

+0

我不确定你在问什么。您是否想知道是否可以让用户在操作系统级别进行身份验证,但这些用户不是SYS?那么答案绝对是。你只需要知道如何去做。 – mathguy

回答

0

如果我正确理解你的问题,只要用户不是dba组的一部分,问题的答案是YES。默认情况下,执行标志设置为“其他”,因此任何用户都可以运行sqlplus并连接用户名/密码。你甚至不用设置一个新的用户或组而言,只要确保用户不是dba组的一部分:

sqlplus默认权限已设置电子x ecution标志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: 

Howeve R,用户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密码!

+0

非常感谢! – MasterC

1

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

相关问题