os认证
oracle安装之后默认情况下是启用了os认证的,这里提到的os认证是指服务器端os认证。os认证的意思把登录数据库的用户和口令校验放在了操作系统一级。
如果以安装oracle时的用户登录os,那么此时在登录oracle数据库时不需要任何验证,如:
SQL> connect /as sysdba
已连接。
SQL> connect sys/liuyi@liuyi as sysdba
已连接。
SQL> connect sys/bbb as sysdba
已连接。
SQL> connect aaa/bbb as sysdba
已连接。
SQL> show user
USER 为"SYS"
SQL>
不论输入什么用户(哪怕这个用户如aaa在数据库中根本不存在),只要以sysdba权限连接数据库,都可以连接上,并且连接用户是sys,
这样很方便,有时候,如果忘记了数据库的密码,而又想登录数据库,可以通过这种方式,前提是在数据库服务器上;
但是方便的同时也带来了一些安全隐患,于是很多人想屏蔽os认证,在win下只要把oracle_home/NETWORK/admin/sqlnet.ora中
的SQLNET.AUTHENTICATION_SERVICES= (nts)nts改成none或者注释掉这句话(在前面加上#),就可以屏蔽os功能
SQL> connect /as sysdba
ERROR:
ORA-01031: 权限不足