sysdba不需要密码验证竟然可以直接登录,这还有安全可言吗?
- C:\Users>sqlplus /nolog
- SQL*Plus: Release 11.2.0.1.0 Production on 星期四 3月 1 14:16:04 2012
- Copyright (c) 1982, 2010, Oracle. All rights reserved.
- SQL> conn / as sysdba
- 已连接。
- SQL>
经过探索,原来oracle这是直接使用操作系统授权验证,只要当前登录OS的用户拥有足够的权限就可以使用sysdba登录了,在windows下有以下两种方式可以解除这种无密码登录:
方法一:修改%ORACLE_HOME%\network\admin\sqlnet.ora,注释掉以下行
- SQLNET.AUTHENTICATION_SERVICES= (NTS)
方法二:将登录OS的用户从ora_dba用户组中删除
再来试试:
- SQL> conn / as sysdba;
- ERROR:
- ORA-01031: insufficient privileges
- SQL>
这次就提示没有权限了。
转载于:https://blog.51cto.com/stevex/793585